我正在尝试用另一个数字替换字符串中的数字。例如,我有字符串“APU12_24F”,我想在第二个数字上添加 7,使其成为“APU12_31F”。
现在我可以通过使用 string.split 找到我感兴趣的号码。
我不知道如何编辑由此产生的新字符串。
def main():
f=open("edita15888_debug.txt", "r")
fl = f.readlines()
for x in fl:
if ("APU12" in x):
list_string=split_string(x)
print(list_string);
return
def split_string_APU12(string):
# Split the string based on APU12_
list_string = string.split("APU12_")
return list_string
main()
这个输出是有意义的,因为我会得到类似 ['', 24F\n] 的内容。我现在需要将 24 更改为 31,然后将其放回原始字符串。
如果有更好的方法,请随时告诉我。我对 python 很陌生,我可以在网上找到的所有可用搜索/替换功能似乎都没有做我需要它们做的事情。谢谢!
最佳答案
假设该模式是 _ + 多个数字
,您可以将其替换为正则表达式
import re
re.sub(r"_(\d+)", lambda r: '_'+str(int(r.group(1)) + 7),'APU12_24F')
关于python - 如何用另一个数字替换字符串中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58493763/