Python 如何在re.sub()中实现这一点?

Python 如何在re.sub()中实现这一点?,python,regex,Python,Regex,我在lst中有一个字符串列表 lst = ["-", "/", ","] str到re.sub的示例: str = "abc - abc 9-4 " => "abc abc 9-4 " str = "abc , abc 9/4 " => "abc abc 9,4 " str = "abc / abc 9,4 " => "abc abc 9/4 " 我想用字符串replace_替换给定模式的所有匹配项 我想按如下方式实施它 new_str = re.sub

我在lst中有一个字符串列表

lst = ["-", "/", ","]
str到re.sub的示例:

str = "abc - abc 9-4 "   => "abc abc 9-4 " 
str = "abc , abc 9/4 "   => "abc abc 9,4 " 
str = "abc / abc 9,4 "   => "abc abc 9/4 " 
我想用字符串replace_替换给定模式的所有匹配项

我想按如下方式实施它

 new_str = re.sub(pattern,replace_with, str);
在哪里,

replace_with = ""
pattern      =        Please help me define the following in regex
(不是数字)(任何内容)(lst中的任何字符串)(任何内容)(不是 (数字)

您可以尝试以下方法:

lst = ["-", "/", ","]
import re
s = ["abc - abc 9-4 ", "abc , abc 9/4 ", "abc / abc 9,4 "]
final_data = [re.sub('\s|\s'.join(lst), ' ',  i) for i in s]
输出:

['abc  abc 9-4 ', 'abc  abc 9/4 ', 'abc abc 9,4 ']

或者根据你的要求。不要把事情复杂化!看起来你只需要一个阴性。向前看:@ctwheels你的答案对我来说就行了,除了[-,/]。因为要从列表中读取这个字符串,我想检查运行时的更改。你能演示一下如何使用list@AthulMuralidharan只需使用post中的内容来转义加入的列表。您应该有类似于
”的内容(?这很有效。这是我一直在寻找的答案。因为我的lst是dynamic@AthulMuralidharan很高兴帮助你!如果这个答案帮助你,请考虑接受它!谢谢!我辛苦赚来的名声已经被一些人压垮了。我不知道为什么我对这个问题的投票太多了。我真的认为这是有效的。问题。虽然我愿意接受你的回答,但我没有特权这么做。@AthulMuralidharan没问题!