在python编程中,要用到替换不少朋友想到的是replace这个函数,这个函数使用起来比较简单,也是用的比较多的。
举个简单的例子,你就明白replace和re.sub的区别了。
比如
用户输入了一个字符串:
str1=’hello 111 word 111‘
你想把其中相连的几个数字111都给替换为一个*
你可以写成:
str2=str1.replace(‘111’, ‘*’)
但如果用户输入的是
str1=’hello 123 word 223‘
你想把其中的其中几个相连的数字替换为*,你该怎么做呢?
虽然也可以用str1.replace(‘123′,’*’).replace(‘223′,’*’)
但是更多有朋友会选择re.sub
这时候你可以这么写:
str2=re.sub('\d+','*',str1)
如果用户输入的是:
str1='hello 123 world 456 nihao 789'
而我只想把123及456替换成*,并不想把789也替换,那可以怎么办呢?
可以像下面这样写
str2=re.sub('\d+','*',str1,2)
可以看到,这条语句比上一条多了一个参数2,意思就是,不管你这个字符串中出现几个数字串,我只替换前面的两个。
看下面的执行情况哦
标签: