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