python - 如果数字之间没有出现句点 [.] 和逗号 [,],则从字符串中删除它们

标签 python regex python-2.7

只有在数字之间不出现逗号和句点时,我才想从文本中删除逗号和句号。

因此,应返回以下文本

"This shirt, is very nice. It costs DKK ,.1.500,00,."

"This shirt is very nice It costs DKK 1.500,00"

我试过

text = re.sub("(?<=[a-z])([[$],.]+)", " ", text) 

但它不会替换文本中的任何内容。

最佳答案

你可以试试这个:

>>> s = "This shirt, is very nice. It costs DKK ,.1.500,00,."
>>> re.sub('(?<=\D)[.,]|[.,](?=\D)', '', s)
'This shirt is very nice It costs DKK 1.500,00'

使用积极的先行断言检查符号前面是否有非数字字符,并使用积极的先行断言对同一字符集进行替换 检查它后跟一个非数字字符。

https://regex101.com/r/54STMM/4

关于python - 如果数字之间没有出现句点 [.] 和逗号 [,],则从字符串中删除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40445290/

相关文章:

python - 如何将值从子脚本传递到同时运行的父脚本?

python - 在 MAC Snow Leopard、OS 10.6 上安装 MySQL-python 时出错

PHP:preg_replace 吃掉所有内存

python - 使用 pip 安装包会出现 SSL 错误

python - 根据规则对python中的列表进行排序

Python:打印 key 大小的可能字母组合

python - 如何在 Tkinter 中使用列表框打开文本文件

python - 如何将文件存储在 Google Storage 上,但跳过 GAME 部分来获取它们?

regex - 删除每行外部分隔符之间的多个分隔符

javascript - 在 javascript 中使用正则表达式时的不同行为