2022年 11月 5日

python使用正则表达式实现字符串替换

python的字符串提供了replace方法,可以将子串替换成其他字符串,例如下面的代码

name= 'flask_script'
name = name.replace('_', '-')
print(name)     # flask-script
  • 1
  • 2
  • 3

替换的前提是清楚的知道哪些字符串需要被替换,如果规则模糊了,replace方法就不奏效了,比如下面的字符串

name = 'fla346s35k_sc32ript'
  • 1

现在要求你将字符串里的所有数字都去掉,使用replace就非常困难了,这种情况下,可以求助re模块的sub方法

import re

regex = re.compile(r"\d")
name = 'fla346s35k_sc32ript'
name = regex.sub('', name)
print(name)         # flask_script
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用正则,是按照规定的模式去替换,对于一些特殊情况,十分有效。