我有一个巨大的电话号码列表,其格式主要是例如 202.202.2020,但有时是 2022022020,有时是 202 202 2020 等。(但它们总是 10 个号码)。
我想使用 python 脚本将它们全部格式化为(202) 202-2020 。
非常感谢你的帮助。
我有一个巨大的电话号码列表,其格式主要是例如 202.202.2020,但有时是 2022022020,有时是 202 202 2020 等。(但它们总是 10 个号码)。
我想使用 python 脚本将它们全部格式化为(202) 202-2020 。
非常感谢你的帮助。
删除垃圾(。或 - 等),只留下数字。
number = ''.join([ n for n in number if n.isdigit() ])
然后输入你想要的格式。
number = '(' + number[:3] + ') ' + number[3:6] + '-' + number[6:10]
您可以轻松地使用正则表达式:http ://docs.python.org/library/re.html
例如,这适用于您描述的情况:
import re
regexp = re.compile('([0-9]{3}).*([0-9]{3}).*([0-9]{4})')
test = '222.222.2222'
match = regexp.match(test)
'(%s) %s-%s' % match.groups() # Gives '(222) 222-2222'
test = '222 222 2222'
match = regexp.match(test)
'(%s) %s-%s' % match.groups() # Gives '(222) 222-2222'