Это замена питона, выглядит следующим образом str.replace(old, new[, max])
old - Это старая подстрока, подлежащая замене.
new -Это новая подстрока, которая заменит старую подстроку.
max - Если задан этот необязательный аргумент max, заменяются только первые вхождения числа.
В вашем случаеу вас есть этот тег TTC ACCT
и этот TTC ACCT NUMBER
при замене без указания tha max
первый TTC ACCT
будет TTC ACCT:
, а затем TTC ACCT NUMBER
будет TTC ACCT : NUMBER
, и именно поэтому вы видите TTC ACCT: NUMBER 45767
Сделайте эту строку:
description = description.replace(each_tag, each_tag + ":")
вот так:
description = description.replace(each_tag, each_tag + ":" ,1)
Получите следующий код:
import string
description = "ABC:PUNE COLLEGE XYZ:SATARA COLLEGE TTC ACCT KOREGAON SATARA PQR: MUMBAI TTC ACCT NUMBER 45767"
tag_list = ["ABC:", "XYZ:", "TTC ACCT", "PQR:", "TTC ACCT NUMBER"]
for each_tag in tag_list:
if each_tag[-1] is not ":":
description = description.replace(each_tag, each_tag + ":" ,1)
print(description)
tag_list_formatted = ["ABC:", "XYZ:", "TTC ACCT:", "PQR:", "TTC ACCT NUMBER:"]
for each_new_tag in tag_list_formatted:
description = description.replace(each_new_tag, "|" + each_new_tag)
print(description)
Вывод:
|ABC:PUNE COLLEGE |XYZ:SATARA COLLEGE |TTC ACCT: KOREGAON SATARA |PQR: MUMBAI |TTC ACCT NUMBER: 45767