我正在使用re.sub,但它没有替换所有出现.
re.sub(r'\b\s+\b', '.', string, re.I)
Run Code Online (Sandbox Code Playgroud)
第一个是输入,第二个是输出.
a b c d e f g
a.b.c d e f g
Run Code Online (Sandbox Code Playgroud)
你告诉它只替换2个实例:
>>> re.I
2
>>> re.sub(r'\b\s+\b', '.', string)
'a.b.c.d.e.f.g'
Run Code Online (Sandbox Code Playgroud)
要使用该re.I标志,你应该将它指定为关键字参数(否则会被解释为价值count,因为不是count来之前flags在的签名re.sub).
>>> 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'
Run Code Online (Sandbox Code Playgroud)
或者,首先编译正则表达式.
>>> string = 'a b c d e f g'
>>> my_re = re.compile(r'\b\s+\b', re.I)
>>> re.sub(my_re, '.', string)
'a.b.c.d.e.f.g'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |