我正在尝试这样做:
import re
sentence = "How are you?"
print(re.split(r'\b', sentence))
Run Code Online (Sandbox Code Playgroud)
结果是
[u'How are you?']
Run Code Online (Sandbox Code Playgroud)
我想要类似的东西[u'How', u'are', u'you', u'?'].怎么能实现这一目标?
小智 10
不幸的是,Python无法通过空字符串进行拆分.
要解决这个问题,你需要使用findall而不是split.
实际上\b只是意味着词边界.
它相当于(?<=\w)(?=\W)|(?<=\W)(?=\w).
这意味着,以下代码将起作用:
import re
sentence = "How are you?"
print(re.findall(r'\w+|\W+', sentence))
Run Code Online (Sandbox Code Playgroud)