格式字符串java
我需要将字符串从以下格式“6254897283”更改为以下格式 “(625)555-1212.“有什么好办法可以做到这一点吗?”?我将用一种我想重用的方法来实现它格式字符串java,java,string,format,string-formatting,Java,String,Format,String Formatting,我需要将字符串从以下格式“6254897283”更改为以下格式 “(625)555-1212.“有什么好办法可以做到这一点吗?”?我将用一种我想重用的方法来实现它 String phone = "6254897283"; MessageFormat phoneFmt = new MessageFormat("({0}) {1}-{2}"); String[] phoneArr = { phone.substring(0, 3), phone.substring(3, 6), p
String phone = "6254897283";
MessageFormat phoneFmt = new MessageFormat("({0}) {1}-{2}");
String[] phoneArr = { phone.substring(0, 3), phone.substring(3, 6),
phone.substring(6) };
System.out.println(phoneFmt.format(phoneArr));
或
有一个开源库您可以使用
replaceAll
和正则表达式来实现:
String s = "6254897283";
System.out.println(s.replaceAll("(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3"));
// (625) 489-7283
我们的想法是从原始的10位数字中分割并捕获三组,分别为3($1
)、3($2
)和4($3
)位,然后相应地重新格式化这些组(($1)$2-$3
)