re.sub(r'[\[\d\]]', 'foo', 'web scraping [2]')
我想将[any number]
替换为foo
。但输出很奇怪。
打印web scraping foofoofoo
为什么会这样?
由于
答案 0 :(得分:1)
如果要替换括号中的所有数字,可以使用这种方式
>>> re.sub(r'\[\d+\]', 'foo', 'web scraping [2] [34] [567]')
'web scraping foo foo foo'
答案 1 :(得分:1)
你有一对额外的方括号。他们正在创建一个你不想要的角色类。
以下是修复正则表达式的方法:
>>> re.sub(r'\[\d\]', 'foo', 'web scraping [2]')
'web scraping foo'
请注意,这只接受一位数字。如果您想接受多位数字,请将\d
替换为\d+
。