gpt4 book ai didi

python - 用 python 正则表达式从旧字符串计算出的新字符串替换子字符串

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:53 26 4
gpt4 key购买 nike

是否可以使用 Python 正则表达式将子字符串替换为使用原始子字符串“计算”的新子字符串?

举个例子:

假设我有子字符串userX40,我想获取子字符串40,转换为int,乘以2并把它返回原始字符串:所以最终结果将是 user80

我可以在不同的段落中这样做,例如:

import re
in_str = "userX40"
original_num = int(re.search("\d+", in_str).group())
out_str = re.search("(.*)[^\d]", lll).group() + str(original_num*2)

有没有办法在一个命令中使用 re.sub 来做到这一点?

最佳答案

是的,使用 re.sub 是可能的。提供一个可调用对象,将匹配对象转换为 int,将其相乘,然后转换回字符串。

>>> s = "userX40"
>>> re.sub(r"\d+", lambda x: str(2*int(x.group())), s)
'userX80'

关于python - 用 python 正则表达式从旧字符串计算出的新字符串替换子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54484978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com