我正在使用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);
您可以使用parse
方法然后获取nationalNumber
和countryCode
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
[Telephone numbers in Spain显示0应该是6或7。我认为不在西班牙居住。