将国家/地区名称转换为ISO Alpha 2国家/地区代码

时间:2018-06-01 07:28:58

标签: android locale country-codes

我正在使用国家/地区代码选择器库供用户选择国家/地区 我存储了所选项目的国家名称(即:新加坡) 现在我想将国家名称转换为ISO Alpha 2国家代码(即:sg)。

我正在使用Locale但它无法正常工作,我缺少什么?

public String getCountryCodeFromName(String countryName){
    Locale locale = new Locale("",countryName);
    String countryCode = locale.getCountry().toLowerCase();
    return countryCode;
}

1 个答案:

答案 0 :(得分:4)

<强> Use This Function:-

public String getCountryCode(String countryName) {

    // Get all country codes in a string array.
    String[] isoCountryCodes = Locale.getISOCountries();
    String countryCode = "";
    // Iterate through all country codes:
    for (String code : isoCountryCodes) {
        // Create a locale using each country code
        Locale locale = new Locale("", code);
        // Get country name for each code.
        String name = locale.getDisplayCountry();
        if(name.equals(countryName))
          {
             countryCode = code;
             break;
          }
    }
    return countryCode;  
}