-1

私は、主に 202.202.2020 などの形式の電話番号の膨大なリストを持っていますが、2022022020 や 202 202 2020 などの場合もあります (ただし、常に 10 個の番号です)。Pythonスクリプトを使用して、それらすべてを(202) 202-2020
にフォーマットしたいと思います。

助けてくれてどうもありがとう。

4

2 に答える 2

3

正規表現を簡単に使用できます: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'
于 2012-09-07T12:10:28.987 に答える
3

ジャンク (. または - など) を削除し、数字だけを残します。

number = ''.join([ n for n in number if n.isdigit() ])

次に、必要な形式を入力します。

number = '(' + number[:3] + ') ' + number[3:6] + '-' + number[6:10]
于 2012-09-07T11:40:58.023 に答える