9    7   316 Lake St     Arran Dr    St. Catharines, ON L2N 4H4     Phone:  905-934-5885    112.9   123 130 --- 1/1/18
10   Esso    142 Lakeshore Rd    Geneva St   St. Catharines, ON L2N 2T5 Phone:  905-646-4558    112.7   125.9   131.9   --- 1/1/18
11   Petro-Canada    533 Lake St     Linwell Rd  St. Catharines, ON L2N 4H6 Phone:  (905) 937-7719  112.9   125.9   131.9   124.9   1/1/18


我在上面的数据中需要将(905)更改为905-,以便所有数据都采用相似的格式。我试图将这些内容读取为列表并重新导入。

import re
for line in data :
    line = re.sub(r"(905) ", "905-", line)
    print(line)


但这不起作用,如何更换?

最佳答案

如果您想要的只是简单的替换,那么您不应该使用re

line = line.replace("(905) ", "905-")




如果您需要替换的前缀不仅仅是905,那么仅需要正则表达式:

line = re.sub(r"\((\d{3})\) ", r"\1-", line)


那也将(204) 342-4532替换为204-342-4532

10-06 15:08