我想要像这样的匹配字符串:
what.are you doing?
点后面有字母时匹配
并替换为“。”与“。”
结果像:
what. are you doing?
更多例子
输入
uh....i don't know
输出
uh.... i don't know
输入
do you know....that thing?
输出
do you know.... that thing?
最佳答案
这应该适合您的情况:
re.sub(r'(?<=\S)\.(?=\w)', '. ', s)
这使用肯定的后置断言
(?<=...)
来检查点是否前面有非空格字符\S
。正向后置断言(?=\w)
检查点后是否有字母数字字符。