如何在第三位和第三位显示一个数字,在10位数字上显示下一个第四位数字?

时间:2014-07-17 08:57:53

标签: java android string android-activity

我尝试了这段代码,但它根据国家/地区代码进行了拆分。

String phone ="1234567891";
String formattedNumber = PhoneNumberUtils.formatNumber(phone);

但显示为123-456-7891

我想这样显示:

123.456.7891

我该怎么做?

4 个答案:

答案 0 :(得分:2)

尝试

    String phoneNum = "1234567891";
    System.out.println(phoneNum.replaceFirst("(\\d{3})(\\d{3})(\\d+)", "$1.$2.$3"));

答案 1 :(得分:0)

如果你确定数字的数量,那么你可以在某些位置插入点:

String str = "12345678910";
str = str.substring(0, 3) + "." + str.substring(3, 6) + "." + 
    str.substring(6, x.length());

答案 2 :(得分:0)

您可以使用字符串替换:

String phone ="1234567891";
String formattedNumber = PhoneNumberUtils.formatNumber(phone);
String formattedNumberWithDots = formattedNumber.replaceAll("-", ".");

答案 3 :(得分:0)

对于字符串操作(如连接),最好使用StringBuilder或StringBuffer。

   String str = "1234567890";
    if (str.matches("\\d{10}")) {
        StringBuilder strBuilder = new StringBuilder(str);
        strBuilder.insert(3, ".");
        strBuilder.insert(7, ".");
        System.out.println(strBuilder.toString());
    } else {
        System.out.println( str + " is not a phone number");
    }