我如何替换所有的换行符从一个字符串在Java在这样的方式,将工作在Windows和Linux(即没有具体的操作系统的回车/换行/新行等问题)?

我尝试过(注意readFileAsString是一个将文本文件读入String的函数):

String text = readFileAsString("textfile.txt");
text.replace("\n", "");

但这似乎并不奏效。

如何做到这一点呢?


当前回答

String text = readFileAsString("textfile.txt").replace("\n","");

.replace返回一个新字符串,Java中的字符串是不可变的。

其他回答

如果你只想删除当前操作系统上有效的行结束符,你可以这样做:

text = text.replaceAll(System.getProperty("line.separator"), "");

如果你想确保你删除了任何行分隔符,你可以这样做:

text = text.replaceAll("\\r|\\n", "");

或者,稍微啰嗦一点,但不那么regexy:

text = text.replaceAll("\\r", "").replaceAll("\\n", "");

org . apache commons。朗StringUtils # chopNewline。

试着这样做:

 textValue= textValue.replaceAll("\n", "");
 textValue= textValue.replaceAll("\t", "");
 textValue= textValue.replaceAll("\\n", "");
 textValue= textValue.replaceAll("\\t", "");
 textValue= textValue.replaceAll("\r", "");
 textValue= textValue.replaceAll("\\r", "");
 textValue= textValue.replaceAll("\r\n", "");
 textValue= textValue.replaceAll("\\r\\n", "");
String text = readFileAsString("textfile.txt").replace("\n","");

.replace返回一个新字符串,Java中的字符串是不可变的。

我想这是很有效的

String s;
s = "try this\n try me.";
s.replaceAll("[\\r\\n]+", "")