【问题标题】:Replace $$ or more with single spaceusing Regex in python在 python 中使用 Regex 将 $$ 或更多替换为单个空格
【发布时间】:2021-12-16 00:10:30
【问题描述】:

在下面的字符串列表中,我想删除 $$ 或更多,只有一个空格。

例如- 如果我有 $$ 则一个空格字符,或者如果有 $$$$ 或更多,那么也只有 1 个空格将被替换。

我正在使用以下正则表达式,但我不确定它是否能达到目的

regex_pattern = r"['$$']{2,}?"

以下是测试字符串列表:

['1', '巴特那市 $$$$ $$$$$$$$查看详情', '序列号:$$$$5$$$$ $$$$契约号:$$$$5 $$$$ $$$$代币编号:$$$$7$$$$ $$$$Reg Year:2020', 'Anil Kumar Singh Alias Anil Kumar$$$$$$$$执行官$$$$$ $$$晚。 Harinandan Singh$$$$$$$$$$$$Md.沙赫扎德·艾哈迈德$$$$$$$$$索赔人$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Md. Serajuddin'、'Anil Kumar Singh Alias Anil Kumar'、'Executant'、'Late. Harinandan Singh”,“医学博士”。沙赫扎德·艾哈迈德”、“索赔人”、“迟到。 Md. Serajuddin', 'Circle:Patna City Mauja: $$$$ $$$$Khata : na$$$$ $$$$ 地块:2497 面积(十进制):1.5002 土地类型:Res. Branch Road 土地价值 :1520000 MVR 价值 :1000000', 'Circle:Patna City Mauja: $$$$ $$$$Khata : na$$$$ $$$$地块 :2497 面积(十进制):1.5002 土地类型: 水库。支路土地价值:1520000 MVR 价值:1000000']

【问题讨论】:

  • 您的“测试字符串”看起来更像是一个字符串列表,而您的 regex_pattern 不是有效的 Python,请提供您实际尝试的示例,允许其他人自己尝试并提供给你一个答案。
  • @Grissari 编辑了帖子。我在 regex101.com 上试过了
  • 这不能解决问题,我们不想匹配空格,我们想将出现的 $ 替换为单个空格字符@Thefourthbird

标签: python-3.x regex analysis regexp-replace


【解决方案1】:

关于

我正在使用以下正则表达式,但我不确定它是否适用于 目的

模式['$$']{2,}? 可以写成['$]{2,}?,并以非贪婪的方式匹配'$ 的2 个或更多字符。

您的模式目前得到了正确的匹配,因为没有像 ''$' 这样的部分存在

由于模式是非贪婪的,它只会匹配2个字符,不会匹配$$$中的所有3个字符

您可以编写匹配 2 个或更多美元符号的模式而不使其不贪心,因此$ 的奇数也将被匹配:

regex_pattern = r"\${2,}"

在替换中使用空格。

【讨论】:

    【解决方案2】:

    这是你需要的吗?:

    import re
    for d in data:
        d = re.sub(r'\${2,}', ' ', d)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-05
      • 2011-04-21
      • 2014-05-21
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 2013-11-25
      • 2011-10-22
      相关资源
      最近更新 更多