用大写字母拆分像"HELLO there HOW are YOU"
这样的字符串的最好方法是什么?
所以我最终会得到一个这样的数组:results = ['HELLO there', 'HOW are', 'YOU']
编辑:
我试过了:
p = re.compile("\b[A-Z]{2,}\b")
print p.split(page_text)
不过,它似乎不起作用。
发布于 2012-11-03 20:45:44
你可以使用一个先行:
re.split(r'[ ](?=[A-Z]+\b)', input)
这将在后面跟着一串以单词边界结尾的大写字母字符串的每个空格处拆分。
请注意,方括号仅用于可读性,也可以省略。
如果一个单词的第一个字母是大写就足够了(所以如果你想在Hello
前面拆分),那就更容易了:
re.split(r'[ ](?=[A-Z])', input)
现在,每个空格后面跟着任何大写字母都会被拆分。
发布于 2019-06-05 02:29:48
您的问题包含字符串文字"\b[A-Z]{2,}\b"
,但该\b
表示退格,因为没有r修饰符。
试试:r"\b[A-Z]{2,}\b"
。
https://stackoverflow.com/questions/13209288
复制相似问题