在regex中使用sub()方法时,可以通过使用匿名函数或者lambda表达式来避免突变。
使用匿名函数的方法如下:
import re
pattern = r'\d+'
string = 'I have 123 apples and 456 oranges.'
result = re.sub(pattern, lambda x: str(int(x.group()) * 2), string)
print(result)
输出:
I have 246 apples and 912 oranges.
使用lambda表达式的方法如下:
import re
pattern = r'\d+'
string = 'I have 123 apples and 456 oranges.'
result = re.sub(pattern, lambda x: str(int(x.group()) * 2), string)
print(result)
输出:
I have 246 apples and 912 oranges.
在这个例子中,我们使用正则表达式模式\d+
匹配字符串中的数字,并通过lambda表达式将匹配到的数字乘以2。这样可以避免直接修改原始字符串,而是返回一个新的字符串作为结果。
腾讯位置服务技术沙龙
云原生正发声
腾讯技术创作特训营第二季第2期
技术创作101训练营
腾讯技术创作特训营第二季
技术创作101训练营
云+社区技术沙龙[第21期]
企业创新在线学堂
云+社区技术沙龙[第7期]
云+社区技术沙龙[第27期]
云+社区技术沙龙[第14期]
领取专属 10元无门槛券
手把手带您无忧上云