以大写字母分割字符串


问题内容

在给定的字符集出现之前拆分字符串的pythonic方法是什么?

例如,我想'TheLongAndWindingRoad' 在出现大写字母(可能除了第一个大写字母)时进行拆分 ,并获取 ['The', 'Long', 'And', 'Winding', 'Road']

编辑:它也应该拆分单次出现,即从'ABC'我想获得 ['A', 'B', 'C']


问题答案:

不幸的是,在Python中无法进行零宽度匹配。但是您可以re.findall改用:

>>> import re
>>> re.findall('[A-Z][^A-Z]*', 'TheLongAndWindingRoad')
['The', 'Long', 'And', 'Winding', 'Road']
>>> re.findall('[A-Z][^A-Z]*', 'ABC')
['A', 'B', 'C']