Java String.replaceAll()替换换行符

时间:2017-02-28 08:28:52

标签: java regex

请考虑以下代码。

String s = "000000Xabcdefgh\nijkX00000000";
s = s.replaceAll("X.*X", "");
System.out.println(s);

我希望Xabcdefgh\nijkX替换为空字符串,但由于中间有换行符,所以不会替换任何内容。为什么正则表达式匹配在换行符处终止?匹配正则表达式时如何忽略换行符?

1 个答案:

答案 0 :(得分:0)

试试这个:

String s = "000000Xabcdefgh\nijkX00000000";
s = s.replaceAll("X.*( |\t|\r\n|\r|\n).*X", "");
System.out.println(s);

这将处理所有其他空格/换行符。