我正在使用re.sub,但它并没有替换所有出现的情况。
re.sub(r'bs+b', '.', string, re.I)
第一个是输入,第二个是输出。
a b c d e f g
a.b.c d e f g
你告诉它只替换 2 个实例:
>>> re.I
2
>>> re.sub(r'bs+b', '.', string)
'a.b.c.d.e.f.g'
要使用 re.I
标志,您应该将其指定为关键字参数(否则它将被解释为 count
的值,因为count
在re.sub
的签名中flags
之前)。
>>> string = 'a b c d e f g'
>>> re.sub(r'bs+b', '.', string, flags=re.I)
'a.b.c.d.e.f.g'
或者,先编译您的正则表达式。
>>> string = 'a b c d e f g'
>>> my_re = re.compile(r'bs+b', re.I)
>>> re.sub(my_re, '.', string)
'a.b.c.d.e.f.g'
您可以使用:
'.'.join(input_str.split(' '))