我有一个单词列表,其中一些单词是相同的。我需要找到这些副本,用空字符串替换它们。我对python内部的替换没有任何问题,但是对于我尝试使用的正则表达式。 这是我的列表的一个示例:
AC;AC MR;TA;AC MR;AC;AC MR;TA;SDA
这些词用分号隔开
我使用的表达是:
\b(\w+\s*\w+)\b;(?=.*\1)
我试过了,但字里行间没有空格:
AC;ACMR;TA;ACMR;AC;ACMR;TA;SDA
我在这里得到的结果是,当我将匹配项替换为空时:
ACMR;TA;SDA
我最终想要的结果是:
AC;ACMR;TA;SDA
您可以看到,没有空调。他总是匹配独立空调,并在其出现在ACMR之前进行更换。但是这些是不同的词,我需要在我的结果中的每个词中选择一个
有人能帮我吗? 提前谢谢
正则表达式似乎不是这里使用的合适工具
或者,您可以通过分隔符拆分字符串,获取唯一值并将它们重新连接在一起:
尽管这仍然涉及多个步骤,但它可能比复杂的reg-ex更容易遵循。请注意,可能不会保留单词的顺序
如果要保留顺序,一个选项可能是使用拆分和联接,并从值中删除空格
输出
Python demo
如果要查找由空格分隔的单词,可以使用re.findall和模式匹配1+单词字符(可选地由1+空格字符和1+单词字符重复)
w+(?:\s+\w+)*
输出
Python demo
如果不使用RegEx,则有一个解决方案:
结果:
相关问题 更多 >
编程相关推荐