关于python:如何用正则表达式将最后14个数字替换为0?

How to replace the last 14 number with 0s using regular expressions?

我正在使用正则表达式显示文件中的数据。我想用:

1
2
3
4
5
6
ID=02141592cc0000000700000000000000
ID=02141592cc000000010000000e9489c5
ID=02141592cc0000000500000000000000
ID=02141592cc000000010000000e9489c5
ID=02141592cc0000000400000000000000
ID=02141592cc000000010000000e9489c5

我使用此功能提取数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
data = OrderedDict({

    'data': r'\b\s\sID=(\w{32})0*',
   })

def Extract_List_Data_Info_Based_On_Regular_Expression(Log_File):
    # print(re_key)
    for re_key in data.keys():

        print(re_key)
        re_value = data[re_key]
        fsrc = open(Log_File, 'r')
        buff = fsrc.read()
        list_info = re.findall(re_value, buff)
        print(list_info)

我的目标是提取数据,然后用0修改最后14个数字。我想把修改写在文件里。例如:这个ID=02141592cc000000010000000e9489c5,然后我想把它修改为ID=02141592cc0000000100000000000000


这对你有用

1
2
s1 ="ID=02141592cc000000010000000e9489c5"
print s1[:-14] + '0'*14

我再写一个答案,类似于amit和repace()的问题。

1
ID = ID.replace(ID[len(ID)-14:],"0"*14)

这就是背后的想法。你不需要正则表达式来做你想做的事情:)