python - 如何用另一个数字替换字符串中的数字?

标签 python string replace

我正在尝试用另一个数字替换字符串中的数字。例如,我有字符串“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/

相关文章:

python - 在三引号中使用变量 (Python)

python - Airflow 在同一个 dag 的不同时间运行任务?

javascript - 通过使用 getElementsClassName、Javascript、DOM 的 ReplaceChild 访问 oldChild

python - Python 请求模块中的 SSL 证书错误,但 VBA 中没有

python - 在Python3中的telnet服务器中使用websockets

c++ - 反向查找指向 cstring 中第 n 次出现的字符的指针

ios - 如何使用逗号和行分隔符标记字符串

java - 如果字符串重复,如何返回字符串的第一个字符?

使用awk将一个文件中的列替换为另一个文件中的列?

python - 将数据框中的值替换为另一个数据框中的值 - 正则表达式