Wyświetlam dane z pliku za pomocą wyrażenia regularnego. Chcę użyć:

ID=02141592cc0000000700000000000000 
ID=02141592cc000000010000000e9489c5 
ID=02141592cc0000000500000000000000 
ID=02141592cc000000010000000e9489c5
ID=02141592cc0000000400000000000000 
ID=02141592cc000000010000000e9489c5

Używam tej funkcji do wyodrębniania danych:

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)

Moim celem jest wyodrębnienie danych, a następnie zmodyfikuj ostatnie 14 liczb za pomocą 0. Chcę napisać modyfikację w pliku. Na przykład: to ID=02141592cc000000010000000e9489c5, a następnie chcę go zmodyfikować do ID=02141592cc0000000100000000000000

-3
Sony 1 marzec 2019, 12:57

2 odpowiedzi

Najlepsza odpowiedź

To zadziała dla Ciebie

s1 = "ID=02141592cc000000010000000e9489c5"
print s1[:-14] + '0'*14
3
Amit Nanaware 1 marzec 2019, 10:13

Napiszę kolejną odpowiedź, podobnie jak Amit z repace()

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

To ten sam pomysł. Nie potrzebujesz regularnego wyrażenia, aby robić to, co chcesz zrobić :)

0
Maxouille 1 marzec 2019, 10:13