在句号后添加 space
Add space after full stops
python 中进行此简单文本修复的简洁方法是什么 - 检查是否每个句号(最后一个句号除外)后跟 space。假设点后没有空 space 是我们在输入字符串中唯一可能出现的错误。
我正在这样做:
def textFix(text):
result = re.sub('\.(?!\s)', '. ', text)
if (result[len(result) - 1]) == ' ':
return result[:-1]
return result
您可以用
查看
\.(?!\s|$)
见regex demo。它匹配后面没有空格或字符串末尾的点,即后面没有空格的任何非最终点。
或者,您也可以考虑
\.(?=\S)
匹配任何后跟非空白字符的点。
import re
rx = r"\.(?=\S)"
s = "Text1. Text2.Text3."
result = re.sub(rx, ". ", s)
print(result)
# => "Text1. Text2. Text3."
你的技术看起来很完美。但也包括检查以避免在最后一个点 (.
)
后添加 space
\.(?!\s)(?!$)
其中 (?!$)
有助于确保如果 .
后跟字符串结尾 $
则不匹配,因此不会在其后添加 space。
python 中进行此简单文本修复的简洁方法是什么 - 检查是否每个句号(最后一个句号除外)后跟 space。假设点后没有空 space 是我们在输入字符串中唯一可能出现的错误。
我正在这样做:
def textFix(text):
result = re.sub('\.(?!\s)', '. ', text)
if (result[len(result) - 1]) == ' ':
return result[:-1]
return result
您可以用
查看\.(?!\s|$)
见regex demo。它匹配后面没有空格或字符串末尾的点,即后面没有空格的任何非最终点。
或者,您也可以考虑
\.(?=\S)
匹配任何后跟非空白字符的点。
import re
rx = r"\.(?=\S)"
s = "Text1. Text2.Text3."
result = re.sub(rx, ". ", s)
print(result)
# => "Text1. Text2. Text3."
你的技术看起来很完美。但也包括检查以避免在最后一个点 (.
)
\.(?!\s)(?!$)
其中 (?!$)
有助于确保如果 .
后跟字符串结尾 $
则不匹配,因此不会在其后添加 space。