比如我们要将字符串str里的abc全部替换为’’;
使用sub(),我原来的代码是:
re.sub('abc','',str);
正确代码应该是这样的:
str=re.sub('abc','',str);
使用replace(),我原来的代码是:
str.replace('abc','');
正确的代码是这样的:
str=str.replace('abc','');
这是因为这里的字符串是字符串常量,是不可变的,我们使用sub()或者是replace()函数并没有改变原串中的字符。如果要实现改变字段,只有将去掉相应字段后的字符串存储起来,就像上面正确代码那样。
这应该是和replace()以及sub()函数的实现方式是密切相关的,可以找原函数库来康康。