如何在Java中替换字符串中的所有换行符,从而在Windows和Linux上工作(即没有特定于操作系统的回车/换行/换行等问题)?
我试过(注意readFileAsString是将文本文件读入字符串的函数):
String text = readFileAsString("textfile.txt");
text.replace("\n", "");
但这似乎不起作用.
怎样才能做到这一点呢?
如何在Java中替换字符串中的所有换行符,从而在Windows和Linux上工作(即没有特定于操作系统的回车/换行/换行等问题)?
我试过(注意readFileAsString是将文本文件读入字符串的函数):
String text = readFileAsString("textfile.txt");
text.replace("\n", "");
但这似乎不起作用.
怎样才能做到这一点呢?
您需要将text.replace()
的结果设置为text
:
String text = readFileAsString("textfile.txt");
text = text.replace("\n", "").replace("\r", "");
这是必要的,因为字符串是不可变的--调用replace
不会更改原始字符串,它会返回一个已更改的新字符串.如果不将结果赋给text
,那么新字符串将丢失并被垃圾回收.
至于获取任何环境的换行符字符串,可以通过调用System.getProperty("line.separator")
来实现.