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

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

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

但这似乎并不奏效。

如何做到这一点呢?


当前回答

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

尽管在oracle网站中trim()的定义是 返回字符串的副本,省略前导和尾随空格。

文档没有说明新的行字符(前导和后尾)也将被删除。

简而言之 字符串文本= readFileAsString("textfile.txt").trim();对你也有用。 (用java6核对)

其他回答

试着这样做:

 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", "");

可以使用泛型方法用任意字符替换任意字符。

public static void removeWithAnyChar(String str, char replceChar,
        char replaceWith) {
    char chrs[] = str.toCharArray();
    int i = 0;
    while (i < chrs.length) {

        if (chrs[i] == replceChar) {
            chrs[i] = replaceWith;
        }
        i++;
    }

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

尽管在oracle网站中trim()的定义是 返回字符串的副本,省略前导和尾随空格。

文档没有说明新的行字符(前导和后尾)也将被删除。

简而言之 字符串文本= readFileAsString("textfile.txt").trim();对你也有用。 (用java6核对)

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

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

org . apache commons。朗StringUtils # chopNewline。