首页 > 解决方案 > 搜索和替换计算出的数值

问题描述

我有一个包含如下字符串的文件:

Text_0_0
Text_0_1
...
Text_0_19
Text_1_0
...
Text_39_19

我想用必须从数值中计算出来的值替换它:

Text_x_yText_z

哪里z = x * 20 + y

所以在操作之后文件应该是这样的:

Text_0
Text_1
...
Text_19
Text_20
...
Text_399

使用以下代码,我可以找到数值并计算正确的数字:

import re
import sys
f = open("file.txt", "r")
f.seek(0)
for line in f:
    data = re.findall("Text_(\d*)_(\d*)", line)
    if data is not None:
        if len(data) == 1:
            if len(data[0]) == 2:
                number= int(data[0][0])  * 20 + (int(data[0][1]) + 1)
                print (number)
f.close()

但是如何将正确的值写入文件?

标签: pythonregex

解决方案


推荐阅读