像"HELLO there HOW are YOU"大写单词一样拆分字符串的最佳方法是什么(在Python中)?
所以我最终得到一个像这样的数组: results = ['HELLO there', 'HOW are', 'YOU']
编辑:
我试过了:
p = re.compile("\b[A-Z]{2,}\b")
print p.split(page_text)
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用.
Ωme*_*ega 114
我建议
l = re.compile("(?<!^)\s+(?=[A-Z])(?!.\s)").split(s)
Run Code Online (Sandbox Code Playgroud)
查看此演示.
Mar*_*der 44
您可以使用前瞻:
re.split(r'[ ](?=[A-Z]+\b)', input)
Run Code Online (Sandbox Code Playgroud)
这将在每个空格处分开,后面跟着一串以字边界结尾的大写字母.
请注意,方括号仅用于提高可读性,也可以省略.
如果一个单词的第一个字母大写就足够了(所以如果你想在前面分开Hello),它会变得更容易:
re.split(r'[ ](?=[A-Z])', input)
Run Code Online (Sandbox Code Playgroud)
现在,这会在每个空格处分开,然后是任何大写字母.
geo*_*org 14
你不需要拆分,而是findall:
re.findall(r'[A-Z]+[^A-Z]*', str)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
144696 次 |
| 最近记录: |