Gus*_*sto 0 python split tokenize
如何定义一个带字符串(句子)的函数,并在句点后面插入一个额外的空格(如果句点后面紧跟一个字母).
sent = "This is a test.Start testing!"
def normal(sent):
list_of_words = sent.split()
...
Run Code Online (Sandbox Code Playgroud)
这应该打印出来
"这是一个测试.开始测试!"
我想我应该用split()一个字符串制作一个列表,但接下来呢?
PS解决方案必须尽可能简单.
使用re.sub.您的正则表达式将匹配句点(\.)后跟字母([a-zA-Z]).您的替换字符串将包含对第二组(\ 2)的引用,这是正则表达式中匹配的字母.
>>> import re
>>> re.sub(r'\.([a-zA-Z])', r'. \1', 'This is a test.This is a test. 4.5 balloons.')
'This is a test. This is a test. 4.5 balloons'
Run Code Online (Sandbox Code Playgroud)
请注意[a-zA-Z]正则表达式的选择.这只匹配字母.我们不使用,\w因为它会将空格插入十进制数.