【发布时间】:2022-04-08 15:35:59
【问题描述】:
如果我只有一个 10 位或更多位的字符串,如何将其格式化为电话号码?
一些简单的例子:
555-5555
555-555-5555
1-800-555-5555
我知道这些不是格式化它们的唯一方法,如果我自己做的话,我很可能会遗漏一些东西。是否有 python 库或格式化电话号码的标准方法?
【问题讨论】:
-
它们可能来自什么范围?不同国家/地区对电话号码格式有不同的约定。
-
第二。请不要编写假定每个电话号码都是美国格式的代码。尝试使用这样的程序真的很烦人。
-
看来写电话号码的标准方法叫做 E.123。所以国内号码看起来像
(800) 555 5555,国际号码看起来像+1 800 555 5555。但不要忘记不同组的长度因国家/地区而异。 en.wikipedia.org/wiki/E.123 -
@Thomas 对,这正是我问是否有图书馆可以做到这一点的原因。很容易做出错误的假设。如果格式取决于区域,那么也许这应该是库中的参数或设置。
-
地区可以从数字推断出来如果包含国家代码(美国国家代码为1)。
标签: python formatting format standards libs