2 回答

TA貢獻1839條經(jīng)驗 獲得超15個贊
您可以使用 Maven 存儲庫libphonenumber
通過本地電話號碼獲取國家/地區(qū)代碼(例如:+85595555555 -> KH)
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
Phonenumber.PhoneNumber phoneNumber = phoneNumberUtil.parse("+85595555555", null);
String countryCode = phoneNumberUtil.getRegionCodeForNumber(phoneNumber);
獲取國家/地區(qū)全名(例如:KH -> 柬埔寨)
String displayCountryName = new Locale("", countryCode).getDisplayCountry();

TA貢獻1779條經(jīng)驗 獲得超6個贊
根據(jù)您排除的國家/地區(qū)數(shù)量,創(chuàng)建文本文件/存儲并將代碼存儲在數(shù)組中可能會更快,如果沒有,以下方法可能會起作用。
這更像是一種高級方法,因為您沒有提供任何上下文,即輸入樣本、預期輸出樣本、您嘗試了什么、研究以及您陷入困境。
一種方法如下。
下載所有國家/地區(qū)和相關撥號代碼的列表(請在此處嘗試: https: //datahub.io/JohnSnowLabs/iso-3166-country-codes-itu-dialing-codes-iso-4217-currency-codes#resource-iso- 3166-國家/地區(qū)代碼-itu-撥號-代碼-iso-4217-貨幣-代碼_zip )。
將上述數(shù)據(jù)讀入您的java程序并過濾掉任何不排除的代碼,這基本上就是您的排除列表。(https://stackabuse.com/reading-and-writing-csvs-in-java/)
編寫一個函數(shù)來迭代每個電話號碼,如果有匹配則排除 - 下面的偽代碼。
for each phone_number do {
for each country_code {
if(phone_number.contains(country_code) {
do exclude phone_number
}
}
}
添加回答
舉報