Answers:
您可以先行使用:
re.split(r'[ ](?=[A-Z]+\b)', input)
这将在每个空格处分开,后跟一串大写字母,每个大写字母以单词边界结尾。
请注意,方括号仅出于可读性考虑,也可以省略。
如果一个单词的第一个字母大写就足够了(因此,如果您也想在其前面拆分Hello
),它将变得更加容易:
re.split(r'[ ](?=[A-Z])', input)
现在,这会在每个空格处分开,后跟任何大写字母。
re.split(r'[ ](?=[A-Z]+\b)', input)
以便找不到大写字母?例如,它将不匹配“ A”?我试过了re.split(r'[ ](?=[A-Z]{2,}+\b)', input)
。谢谢!
I
?”的情况。re.split(r'[ ](?=[A-Z]{2,}\b)', input)
应该这样做。
[ ]+
或什\W+
至可以抓到更多案件。仍然是一个很好的答案。
[ ]
对我没有用。相反,我使用\s
。对我re.split("\s(?=[A-Z]+\s)", string)
re.split()
吗?