通过正则表达式从String中删除前导NewLine字符?

时间:2014-06-28 15:27:14

标签: java regex string newline

我是“REGEX”的新手。这个问题是java中正则表达式的培训和教育。

我尝试从字符串中删除前导新行字符。(我知道我们可以通过'trim()'来做到这一点,但我不想使用它。)我使用'^ [\ r \ n] +'作为正则表达式,像这样:

str = "\r\n\r\ntest";
str.replaceAll("^[\r\n]+", "");
System.out.print(str);

我猜结果将是

  

测试

但结果是:

CRLF
CRLF
test

正如你所看到的,领先的新行字符没有删除。我也尝试'^ \ s'或'^ \ s +'作为正则表达式,但结果是一样的。你知道为什么那些正则表达式与领先的新行不匹配字符?

1 个答案:

答案 0 :(得分:4)

无法修改字符串:replaceAll返回更改后的字符串。

str = str.replaceAll(...);