【发布时间】:2012-09-17 00:24:19
【问题描述】:
我有这样的句子 - “这是一个测试。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]+)")
我不知道我哪里出错了。有人可以给我一些指示吗?我搜索了早期的帖子并尝试了它们,但它们不适用于我的情况。
【问题讨论】:
-
如果只想去掉句尾的点,为什么不直接使用
\.$(带多行标志)? -
"我想删除句子末尾的句点,但不是数字之间的句点。"如果句号不在句末,也不在数字之间,应该怎么办?
-
我在示例文本中没有看到任何此类示例。但我认为应该保留这些。
-
引用我自己的话:“使用正则表达式的纯句法方法听起来有问题……想想美国的史密斯教授告诉我们的 5.5 种可以使用句号的方法。”