如何根据单词的标题拆分字符串?

How can I split a string based on the title of the words?

例如我遵循了字符串:

names = "JohnDoeEmmyGooseRichardNickson"

如何根据单词的标题拆分该字符串? 所以每次出现大写字母时,字符串都会被拆分。

有没有办法用 split() 方法做到这一点? (没有正则表达式)

我会得到:

namesL = ["John","Doe","Emmy","Goose","Richard","Nickson"]

不能用 split 方法做到这一点,但可以用 re:

import re
namesL = re.split("(?=[A-Z])", names)[1:]

请记住,第一个条目将是一个空字符串(因为第一个单词也是大写的),因此我们将其删除。

你可以用 regex

>>> import re
>>> s = "TheLongAndWindingRoad ABC A123B45"
>>> re.sub( r"([A-Z])", r" ", s).split()
# output
['The', 'Long', 'And', 'Winding', 'Road', 'A', 'B', 'C', 'A123', 'B45']