- ベストアンサー
置換する文字にマッチした文字の一部を使うには
長い文字列があったとして、それを10文字おきにスペースを1つずつ入れたいとします。 例えばPerlならば、以下のような処理で済むわけですが、 $s =~ s/(¥w{,10})/$1 /g; Javaの正規表現を使うには、どのように記述すれば良いでしょうか。 replaceAll()などで実装できるでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
処理速度的に早いのは charの配列に変換して StringBuilderにつめなおす方法ね。 正規表現でやるならMatcherクラス周りでいろいろできるけど 実装はめんどくさいし速度も前者に劣るわ。 間と取るならString#splitで分割して StringBuilderにつめなおしね。 Javaにはjoinがないので。
その他の回答 (1)
- satomi3951
- ベストアンサー率71% (98/137)
回答No.2
replaceAll("(.{10})", "$1 "); 処理速度はどうなんだろうね。
質問者
補足
Javaで$1が使えるんですか?
お礼
MatcherクラスのappendReplacement()やappendTail()が使えそうですが、確かにめんどうです。 ありがとうございました。