我希望在出现大写字符的地方拆分字符串。 例如 - 如果string是StackOverflow 分裂应该给我['Stack','Overflow'] 单词可能在列表中,也可能不在列表中,但应该是分开的。 我该怎么做?
编辑:
如果没有正则表达式怎么做?
答案 0 :(得分:2)
您可以导入re
模块并使用 regex :
>>> import re
>>> re.findall('[A-Z][^A-Z]*', 'StackOverflow')
['Stack', 'Overflow']
解释:
匹配[A-Z]
A-Z
A(ASCII 65)和Z(ASCII 90)范围内的单个字符(区分大小写)匹配[^A-Z]*
^
表示开始字符串*
量词 - 在零和无限时间之间匹配,尽可能多次,根据需要返回(贪婪)AZ在A(ASCII 65)和Z(ASCII 90)之间的范围内的单个字符(区分大小写)