Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
格式字符串java_Java_String_Format_String Formatting - Fatal编程技术网

格式字符串java

格式字符串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

我需要将字符串从以下格式“6254897283”更改为以下格式 “(625)555-1212.“有什么好办法可以做到这一点吗?”?我将用一种我想重用的方法来实现它

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