首页 > 解决方案 > python正则表达式通过以元音开头的字符串的所有组合分割字符串

问题描述

问题按所有组合拆分字符串,其中每个子字符串以元音开头。例如像 BANANA 这样的字符串需要拆分成 ANANA, ANAN, ANA, AN, A, ANA, AN, A, A

我试过的

import re
data_k=re.findall(r'(?=([AEIOU].*))','BANANA')
data_2=[s[:i] for s in data_k for i in range(1,len(s)+1)]
data_2

我们有没有更快的方法来做到这一点,对于大字符串,它们会给我带来内存错误,尤其是第二个操作,我在列表中拆分每个值。

标签: regexpython-3.xfindall

解决方案


这是没有正则表达式的解决方案(但它只给出该字符串中以元音开头的子字符串的数量,因为如果我们尝试获取所有组合,那么我们最终会出现大字符串的内存错误。)。(https://i.stack.imgur.com/aiA3j.jpg)!


推荐阅读