0

Stringのような番号があり"1234567890"ます。

Stringこれをにフォーマットする必要があります"1234 5678 90"。(空白は SPACE 文字です) 誰かが Java でこれを行う方法を教えてもらえますか?

ありがとう

4

6 に答える 6

2

文字列がすべて同じ長さであると仮定します。

String s1 = "1234567890";
String s2 = s1.substring(0, 3) + " " + s1.substring(4, 7) + " " + s1.substring(8, 9);
于 2013-04-22T13:47:30.733 に答える
1
   StringBuilder sb= new StringBuilder("1234567890");
   sb.insert(4, ' ').insert(9, ' ');
   String output= sb.toString();
于 2013-04-22T13:46:59.607 に答える
1

正規表現ベースのバージョン

     String s = "1234567890";
     s = s.replaceAll("(\\d+)(\\d{2})", "$1 $2");
     while(s.matches("\\d+\\d{4} \\d+")) {
         s = s.replaceAll("(\\d+)(\\d{4} \\d+)", "$1 $2");
     }
     System.out.println(s);

出力

1234 5678 90

于 2013-04-22T13:59:04.080 に答える
0
    String input = "1234567890";
    Formatter f = new Formatter(new StringBuilder(), Locale.UK);
    String res = f.format("%s%5s%3s", input.substring(0, 4), input.substring(4, 8), input.substring(8, 10)).toString();
    System.out.println(res);
于 2013-04-22T14:32:31.680 に答える