我想替换字符串某部分之间的数字
例如:.
f = "abc 123 def 23435 kill x22 y2986"
我想用 #
替换 def
和 y
之间的所有数字
试过用下面的表达式,没用
exp = re.sub(r"(?<=def)\d+(?=y)", "#", f)
预期输出:
abc 123 def ##### kill x## y2986
最佳答案
嗯,我认为乍一看似乎很难用正则表达式来做到这一点,但有一种方法可以通过在多个级别(在本例中为 2 个级别)应用正则表达式来做到这一点。这是一个例子:
>>> f = "abc 123 def 23435 kill x22 y2986"
>>> import re
>>> exp = re.sub(r"(?<=def)(.*)(?=y)", lambda x:re.sub(r"\d", '#', x.group()), f)
>>> exp
'abc 123 def ##### kill x## y2986'
>>>
关于python - 使用正则表达式替换字符串部分之间的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48345205/