我正在使用Google 电话号码库在文本文件中查找电话号码。该电话号码可以是任何格式或来自任何国家。正则表达式没有解决问题。我在它的第 3 方 python 版本中编码,但它不是那么好,我找不到使用 FindNumbers 函数的方法。如何在 Java 中使用它,甚至在 python 中更好用?
这是一个示例:440-991-6659(F)
我正在使用Google 电话号码库在文本文件中查找电话号码。该电话号码可以是任何格式或来自任何国家。正则表达式没有解决问题。我在它的第 3 方 python 版本中编码,但它不是那么好,我找不到使用 FindNumbers 函数的方法。如何在 Java 中使用它,甚至在 python 中更好用?
这是一个示例:440-991-6659(F)
在您链接到的 python 端口中,有一个PhoneNumberMatcher
提供该FindNumbers
功能的类。代码在这里。
从项目的自述文件中:
有时,您有一个较大的文本块,其中可能有也可能没有一些电话号码。为此,PhoneNumberMatcher 对象提供了相关功能;您可以对其进行迭代以检索一系列 PhoneNumberMatch 对象。这些匹配对象中的每一个都包含一个 PhoneNumber 对象以及有关原始字符串中匹配发生位置的信息。
>>> text = "Call me at 510-748-8230 if it's before 9:30, or on 703-4800500 after 10am." >>> for match in phonenumbers.PhoneNumberMatcher(text, "US"): ... print match ... PhoneNumberMatch [11,23) 510-748-8230 PhoneNumberMatch [51,62) 703-4800500 >>> for match in phonenumbers.PhoneNumberMatcher(text, "US"): ... print phonenumbers.format_number(match.number, phonenumbers.PhoneNumberFormat.E164) ... +15107488230 +17034800500