2
我需要将字符串从以下格式“6254897283”更改为以下格式 “(625)555-1212”。任何想法的最佳方式来做到这一点?我会用我想重用的方法来做。格式字符串java
我需要将字符串从以下格式“6254897283”更改为以下格式 “(625)555-1212”。任何想法的最佳方式来做到这一点?我会用我想重用的方法来做。格式字符串java
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
的想法是鸿沟和捕获3组3($1
),3($2
)和4($3
)个数字,然后相应地重新格式化这些组(($1) $2-$3
)。