0
次のコードを検討してください。Java String.replaceAll()は改行の前後に置き換えます
String s = "000000Xabcdefgh\nijkX00000000";
s = s.replaceAll("X.*X", "");
System.out.println(s);
私はXabcdefgh\nijkX
は、空の文字列に置き換えられ得ることを期待したが、途中で改行があるので、何も置き換えませんます。正規表現マッチングが改行で終わるのはなぜですか?正規表現をマッチングするときに、改行を無視するにはどうすればよいですか?
s = s.replaceAll( "X([^ X] *)X"、 "");これは2つのX間のすべてを置き換えます。 – Avaneesh