2 回答
TA贡献1839条经验 获得超15个赞
您可以使用 Maven 存储库libphonenumber
通过本地电话号码获取国家/地区代码(例如:+85595555555 -> KH)
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
Phonenumber.PhoneNumber phoneNumber = phoneNumberUtil.parse("+85595555555", null);
String countryCode = phoneNumberUtil.getRegionCodeForNumber(phoneNumber);
获取国家/地区全名(例如:KH -> 柬埔寨)
String displayCountryName = new Locale("", countryCode).getDisplayCountry();
TA贡献1779条经验 获得超6个赞
根据您排除的国家/地区数量,创建文本文件/存储并将代码存储在数组中可能会更快,如果没有,以下方法可能会起作用。
这更像是一种高级方法,因为您没有提供任何上下文,即输入样本、预期输出样本、您尝试了什么、研究以及您陷入困境。
一种方法如下。
下载所有国家/地区和相关拨号代码的列表(请在此处尝试: https: //datahub.io/JohnSnowLabs/iso-3166-country-codes-itu-dialing-codes-iso-4217-currency-codes#resource-iso- 3166-国家/地区代码-itu-拨号-代码-iso-4217-货币-代码_zip )。
将上述数据读入您的java程序并过滤掉任何不排除的代码,这基本上就是您的排除列表。(https://stackabuse.com/reading-and-writing-csvs-in-java/)
编写一个函数来迭代每个电话号码,如果有匹配则排除 - 下面的伪代码。
for each phone_number do {
for each country_code {
if(phone_number.contains(country_code) {
do exclude phone_number
}
}
}
添加回答
举报