2011-10-23 15 views
2

文字列を次のフォーマット "6254897283"から次のフォーマット "(625)555-1212"に変更する必要があります。これを行う最善の方法のアイデアですか?私は再利用したい方法でそれをやります。フォーマット文字列java

答えて

2
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)); 

またはライブラリがhttp://code.google.com/p/libphonenumber/

1

あなたはちょうどそれを達成するために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)と元の10桁の数字の4桁($3)を入力し、これらのグループを適切にフォーマットし直します(($1) $2-$3)。

関連する問題