UI にスペースを含む文字列を表示する必要がある状況があります。これは読みやすくするためです。
たとえば、データが「1234567890」の場合、「123 456 7890」と表示したいとします。Java の文字列形式のメソッドを使用してこれを行うことができるかどうか疑問に思っていましたか?
UI にスペースを含む文字列を表示する必要がある状況があります。これは読みやすくするためです。
たとえば、データが「1234567890」の場合、「123 456 7890」と表示したいとします。Java の文字列形式のメソッドを使用してこれを行うことができるかどうか疑問に思っていましたか?
いいえ、独自のコードを実装する必要があります。文字列 API については、こちらを参照してください。
私はreplaceAllでそれを行います。
String test = "1112223333";
System.out.println(test.replaceAll("(.{3})(.{3})(.{4})", "$1 $2 $3"));
これは、何にでも一致(.{3})(.{3})(.{4})
する正規表現を使用します。.{x}
は{x}
回数です。(.{3})
$1、$2、および $3 で一致する文字列をキャプチャするために、括弧で囲みます。
したがって、$1 = "111"、$2 = "222"、$3 = "3333"
電話番号をフォーマットしようとしているように見えますか? を使用 DecimalFormat
して、メッセージ形式を定義しString[]
、元の文字列のサブ文字列で を作成できます。
はい、String.format()でそれを行うことができます最初に、配列内の文字列を分割して、
[0]="123"
[1]="456"
[2]="7890"
次に、次を使用します
String.format("%1$3s %2$3s %3$3s",a );