如何在没有国家代码的情况下联系电话?

时间:2015-07-02 04:36:04

标签: java android

我可以通过电话获取联系电话。我想知道如何从中删除国家/地区代码。也就是说,如果用户的电话号码带有国家代码(+ 91-9876543210),我需要没有带前缀国家代码的电话号码(9876543210)。

提前致谢。

6 个答案:

答案 0 :(得分:20)

我建议您使用libphonenumber轻松解析电话号码。您可以通过这种方式拆分国家/地区代码和电话号码。

try {
    // phone must begin with '+'
    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
    Phonenumber.PhoneNumber numberProto = phoneUtil.parse("+91-9876543210", "");
    int countryCode = numberProto.getCountryCode();
    long nationalNumber = numberProto.getNationalNumber();
    Log.i("code", "code " + countryCode);
    Log.i("code", "national number " + nationalNumber);
} catch (NumberParseException e) {
    System.err.println("NumberParseException was thrown: " + e.toString());
}

答案 1 :(得分:1)

将此作为您的代码......

resource

将您需要使用的所有国家/地区代码添加到 import java.util.ArrayList; public class aaaaa { public static void main(String[] args) { ArrayList<String> al = new ArrayList<String>(); al.add("+91"); String input = "+91-9876543210"; if (input.indexOf("+") > -1) { String str = input.split("-")[0]; if (al.contains(str)) { System.out.println(input.split("-")[1]); } } } } ...或者如果您只需要印度代码,请按原样使用代码......

使用所有可能的国家/地区代码进行测试。

如果您不关心国家/地区代码,只是对ArrayList al之间的数据感到困扰,那么您可以使用此代码....

+xxx-<number>

答案 2 :(得分:0)

可以使用以下代码执行此操作。

public static void main(String[] args) {
    String input="+91-9876543210";
    if(input.indexOf("-")>-1)
    System.out.println(input.split("-")[1]);
}

答案 3 :(得分:0)

很容易。

String s="+91-9876543210";;  
System.out.println(s.substring(s.indexOf('-')+1,s.length()));

答案 4 :(得分:0)

公共静态字符串removeCountryCode(String strMobWithCD){

    String strNewMob = null;

    if(strMobWithCD.contains("+91")){

        strNewMob = strMobWithCD.replace("+91","").toString();
    }else if(strMobWithCD.contains("91")){

        strNewMob = strMobWithCD.replace("91","").toString();
    }else {

        strNewMob = strMobWithCD;
    }

    return strNewMob;
}

答案 5 :(得分:0)

import javax.validation.constraints.NotEmpty;

import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber

public class MobileNumberUtil {
    public static String toMobileNoFromInternationPhone(@NotEmpty String 
    internationalMobileNumber) {
        PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
        String nationalNumber = null;
        try {
            Phonenumber.PhoneNumber numberProto = 
            phoneUtil.parse(internationalMobileNumber, "");

            nationalNumber = Long.toString(numberProto.getNationalNumber());
        } catch (NumberParseException e) {
            return StringUtils.EMPTY;
       }
       return nationalNumber;
   }
}