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

2024-05-14 21:25:52 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以使用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?你知道吗


Tags: 字符串inresearchgroupnum例子int
1条回答
网友
1楼 · 发布于 2024-05-14 21:25:52

是的,用re.sub是可能的。提供一个可调用对象,该对象将匹配对象转换为int,将其相乘,然后再转换回string。你知道吗

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

相关问题 更多 >

    热门问题