java - libphonenumber 库不提取前缀为 +34 (0) 的电话号码

标签 java phone-number libphonenumber

我正在使用 libphonenumber 从给定字符串中提取电话号码,但它无法提取带有“+34 (0)”前缀的号码(+34 前缀工作正常)。它可以与其他扩展一起正常工作(即:- +38 (0) )。看起来它与 +34 和 (0) 模式相结合。以下是代码示例。有人以前经历过这种情况吗?

String content = someString + "+34 (0)xxx - xxxxxx" + someString;
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
Iterable<PhoneNumberMatch> intlNumbers = phoneNumberUtil.findNumbers(content, null);

最佳答案

您可以使用parse方法然后获取nationalNumbercountryCode

 public static void main(String[] args) throws NumberParseException {


    String content = "+34 (0)123 - 456789";
    PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
    PhoneNumber phoneNumber =phoneNumberUtil.parse(content, null);
    System.out.println("Phone Number  = "+phoneNumber.getNationalNumber());
    System.out.println("Country Code = "+phoneNumber.getCountryCode());


}

结果

电话号码 = 123456789

国家/地区代码 = 34

关于java - libphonenumber 库不提取前缀为 +34 (0) 的电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59964932/

相关文章:

sql - 如何从SQL中的电话号码将电话号码前缀与国家/地区匹配

java - 在 Tomcat5 上使用 fileupload 时出现异常

java - 卡夫卡 : events published from the host machine are not consumed by the application running in Docker

java - Wicket AjaxLink isLinkEnabled() = false 呈现可点击的范围

android - Android上如何查询ContactsContract.CommonDataKinds.Phone?

android:如何将数字格式化为带括号的电话

java - JTextComponent 键盘映射

ruby-on-rails - Ruby on Rails 新手寻找电话号码验证

ios7 - iOS 7 : How to get own number via private API?

java - 如何将java中的电话号码格式化为Android