Javaで改行を含んだ文字列を置換するには
ちょっとはまってしまいました。
情けがない!!
SJC-Pが聞いてあきれます。
Stringのreplace()やreplaceAll()では残念ながら
改行を含んだものは置換できません。
残念。
そんな時はこいつを使用しよう。
PatternクラスとMatcherクラス!!
まず置換対象の正規表現を入れてみよう。
サンプルはHTMLから任意コメントアウト間に書かれた
ソースコードを除去する正規表現
Pattern pattern = Pattern.compile("<任意のコメントここから.+?任意のコメントここまで>");
こいつはまだ不完全です。改行も含む場合はこのcompile()の引数に
以下を追加してやる
Pattern.DOTALL
これで初めて改行に対応した。
全文はこんな感じ
Pattern pattern = Pattern.compile("<任意のコメントここから.+?任意のコメントここまで>", Pattern.DOTALL);
後はMatcherでさばく!!
これでOK
Matcher matcher = pattern.matcher([置換対象の文字列]); String result = matcher.replaceAll("");