句号后添加空格

GA1*_*GA1 2 python regex text-processing replace

在 python 中做这个简单的文本修复的干净方法是什么 - 检查每个句号(除了最后一个)后面是否跟有空格。假设点后面没有空格是我们在输入字符串中唯一可能得到的错误。

我正在这样做:

def textFix(text):
    result = re.sub('\.(?!\s)', '. ', text)
    if (result[len(result) - 1]) == ' ':
        return result[:-1]
    return result
Run Code Online (Sandbox Code Playgroud)

Wik*_*żew 5

你可以检查一下

\.(?!\s|$)
Run Code Online (Sandbox Code Playgroud)

请参阅正则表达式演示。它匹配后面没有空格或字符串结尾的点,即任何后面没有空格的非终结点。

或者,你也可以考虑

\.(?=\S)
Run Code Online (Sandbox Code Playgroud)

匹配任何后跟非空白字符的点。

请参阅另一个演示

Python 演示

import re
rx = r"\.(?=\S)"
s = "Text1. Text2.Text3."
result = re.sub(rx, ". ", s)
print(result)
# => "Text1. Text2. Text3."
Run Code Online (Sandbox Code Playgroud)