繁体   English   中英

删除python中句子末尾的句点

[英]Remove periods at the end of sentences in python

我有这样的句子 - “这是一个测试.4.55和5,000。” 我想删除句子末尾的句号,但不删除数字之间的句号。 我的输出必须是 - “这是一个测试4.55和5,000”我尝试了以下选项,但没有得到所需的输出:

wordList = "this is a test. 4.55 and 5,000."
pattern3 = re.compile("[^\w\d]+")
wordList = pattern3.sub(' ',wordList)

还尝试了以下2:

pattern3 = re.compile("[^\w]|^[0-9]\.[0-9]")
pattern3 = re.compile("[^\w]|^([0-9]/.[0-9]+)")

我不知道我哪里出错了。 有人可以给我一些指示吗? 我搜索了之前的帖子并尝试了它们,但它们并不适用于我的情况。

尝试否定前瞻:

\.(?!\d)

这匹配的是任何未跟随数字的时期。

在正则表达式中, $特殊字符“[匹配]字符串的结尾或在字符串末尾的换行符之前”

在这种情况下,假设每行只有一个句子,我建议如下:

\.$

这将仅匹配字符串末尾(或多行字符串的行尾)发生的句点。 当然,如果你不能保证每行一句话,那么它们就不适合你。

怎么样

pattern = re.compile(r'\.(\s)')
wordList = pattern.sub(r'\1', wordList)

这将替换一个句点,后面跟一个只有空格的空格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM