我尝试了这段代码,但它根据国家/地区代码进行了拆分。
String phone ="1234567891";
String formattedNumber = PhoneNumberUtils.formatNumber(phone);
但显示为123-456-7891
我想这样显示:
123.456.7891
我该怎么做?
答案 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");
}