可以轻松删除以下string
中的所有数字:
>>> string = "asprx12303 hello my 321 name is Tom 2323dsad843, 657a b879 843aa943 aa... 2ci 2ci"
>>> modified = re.sub(r'\d+', '', string)
>>> print(modified)
'asprx hello my name is Tom dsad, a b aa aa... ci ci'
但我想删除每个独立数字(例如321
)以及字符串中字母和数字的每个组合(例如843aa943
和asprx12303
)。
这是我到目前为止所做的:
>>> modified2 = re.sub(r'\w+\d+', '', string)
>>> print(modified2)
' hello my name is Tom , a aa... 2ci 2ci'
所以,这两种模式运作良好,但最后我留下了2ci
。如何为此问题制作一个包罗万象的正则表达式?到目前为止我的解决方案还可以,但不是我需要的。
答案 0 :(得分:7)
这样的事情:
r'\w*[0-9]\w*'
这应该匹配包含至少一个数字的任何连续的单词字符。