我正在使用re.sub,但它没有替换所有出现的内容。
re.sub(r'\b\s+\b', '.', string, re.I)
第一个是输入,第二个是输出。
a b c d e f g
a.b.c d e f g
答案 0 :(得分:7)
你告诉它只替换2个实例:
>>> re.I
2
>>> re.sub(r'\b\s+\b', '.', string)
'a.b.c.d.e.f.g'
答案 1 :(得分:6)
要使用re.I
标志,您应该将其指定为关键字参数(否则它将被解释为count
的值,因为count
在{{1}之前出现在the signature of re.sub
)中。
flags
或者,首先编译你的正则表达式。
>>> string = 'a b c d e f g'
>>> re.sub(r'\b\s+\b', '.', string, flags=re.I)
'a.b.c.d.e.f.g'
答案 2 :(得分:1)
您可以使用:
'.'.join(input_str.split(' '))