在 python 中使用 Regex 将 $$ 或更多替换为单个空格

Posted

技术标签:

【中文标题】在 python 中使用 Regex 将 $$ 或更多替换为单个空格【英文标题】:Replace $$ or more with single spaceusing Regex in python 【发布时间】: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 【参考方案1】:

关于

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

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

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

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

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

regex_pattern = r"\$2,"

在替换中使用空格。

【讨论】:

【参考方案2】:

这是你需要的吗?:

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

【讨论】:

以上是关于在 python 中使用 Regex 将 $$ 或更多替换为单个空格的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 Python、BeautifulSoup 和/或 Regex 获取日期

如何将 JSON 中的值替换为 RegEx 在使用 Python 的文件中找到的值?

如何使用 RegEx 执行 if 或 else?

Python regex - 匹配仅包含 A、B 或 C 的单词

Python RegEx

Python RegEx