【发布时间】:2018-12-01 08:51:59
【问题描述】:
我对 python 非常陌生。我经常得到具有各种格式的电话号码的文本文件。我正在尝试创建一个 python 脚本来获取这个文本文件并将它们规范化为我可以使用的格式。
我正在尝试删除所有符号和空格,只留下数字。以及在开头添加 +1 并在末尾添加逗号 (,)。
import re
with open("test_numbers.txt") as file:
dirty = file.read()
clean = re.sub(r'[^0-9]', '', dirty)
print clean
我正在尝试使用正则表达式,但它将所有内容放在一行中。也许我对这一切都错了。我还没有找到将+1 添加到数字开头或在末尾添加逗号的方法。不胜感激。
【问题讨论】:
-
您的正则表达式可能正在删除 \n (和 \r) - 但将正则表达式应用于文件可能是错误的方法;最好一次读一行。另外,请注意,您可能会遇到已经采用国际格式的电话号码 - 您可能需要小心。
-
你想循环你的
dirty变量。在循环内部,您需要将正则表达式应用于文本文件中的每一行。
标签: python