如何从string(Java)的开头和结尾删除换行符?

我有一个string,其中包含一些文本后面跟着一个空行。 什么是最好的方式来保持与文本部分,但从最后删除空白换行符?

使用String.trim()方法从string的开始和结尾中删除空格(空格,新行等)。

 String trimmedString = myString.trim(); 
 String.replaceAll("[\n\r]", ""); 

我也要为此添加一个答案,因为虽然我有同样的问题,但是提供的答案还不够。 考虑到一些想法,我意识到这可以用正则expression式很容易地完成。

从头开始删除换行符

 // Trim left String[] a = "\n\nfrom the beginning\n\n".split("^\\n+", 2); System.out.println("-" + (a.length > 1 ? a[1] : a[0]) + "-"); 

并结束一个string:

 // Trim right String z = "\n\nfrom the end\n\n"; System.out.println("-" + z.split("\\n+$", 2)[0] + "-"); 

我敢肯定,这不是修剪string的最有效的方式。 但它似乎是内联这种操作最干净和最简单的方法。

请注意,可以使用相同的方法来修剪任何两端的字符变体和组合,因为它是一个简单的正则expression式。

如果您的string可能为空,请考虑使用StringUtils.trim()String.trim()的空安全版本。

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