Как использовать findNumbers в Google PhoneNumberLib?
Я использую Googles Phone Number Library для поиска телефонных номеров в текстовом файле. Этот номер телефона может быть в любом формате или из любой страны. Regex не решает проблему. Я кодировал в сторонней Python-версии этого, но это не так хорошо, и я не могу найти способ использовать функцию FindNumbers. Как использовать его в Java или даже лучше в Python?
Вот пример: 440-991-6659(F)
1 ответ
В порту Python, на который вы ссылаетесь, есть PhoneNumberMatcher
класс, который обеспечивает FindNumbers
функциональность. Код здесь.
Из проекта README:
Иногда, у вас есть большой блок текста, который может иметь или не иметь некоторые телефонные номера внутри него. Для этого объект 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