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

问题描述 投票:0回答:2

我正在使用libphonenumber从给定的String中提取电话号码,但是它未能提取带有“ +34(0)”前缀的数字(+34前缀可以正常工作)。它可以与其他扩展名(即:-+38(0))一起正常工作。好像它链接到+34并带有(0)模式。以下是代码示例。有人以前经历过吗?

        String content = "+34 (0)xxx - xxxxxx";
        PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
        Iterable<PhoneNumberMatch> intlNumbers = phoneNumberUtil.findNumbers(content, null);
java phone-number libphonenumber
2个回答
1
投票

您可以使用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


0
投票

[Telephone numbers in Spain显示0应该是6或7。我认为不在西班牙居住。

© www.soinside.com 2019 - 2024. All rights reserved.