【问题标题】:Delete part of string with special characters with regex使用正则表达式删除带有特殊字符的部分字符串
【发布时间】:2021-04-18 21:31:44
【问题描述】:

我正在尝试在 python 3.7 中尝试使用正则表达式消除以字符 $ 开头的句子。但是,在这样做时,我还想添加此金额的最后一个逗号。

我的文字如下:

锶,(a)。 INMOB OSIK DE EXAM SPA,5.910 美元,CASTILLA N. 111 BL。 B DPTO。 111,费查文西米恩托

我需要如下:

锶,(a)。 INMOB OSIK DE EXAM SPA,CASTILLA N. 111 BL. B DPTO。 111,飞叉 文西门托

我在 python 中使用了这个语句和库re,但我不能包含值的最后一个逗号。

pattern = r'([$.])\w+'
regex_response = re.sub(pattern, '',str(regex_response))

但是这句话的结果是:

锶,(a)。 INMOB OSIK DE EXAM SPA,,CASTILLA N. 111 BL. B DPTO。 111,飞叉 文西门托

知道正则表达式应该是什么样子才能得到这个结果吗?

【问题讨论】:

  • 最简单的:([$.])\w+,?,但\$\d+(?:\.\d+)*, looks 更正确。

标签: python python-3.x regex expression


【解决方案1】:

显然您的代码可以正常工作,剩下的就是在 Pattern 中添加 ',' 字符

pattern = r'([$.])\w+,?'

上面的 ',? 匹配 ',' 字符出现 0 次或 1 次

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-19
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多