如何 trim java 中 returns 的字符串

How to trim a string from carriage returns in java

我有一个字符串:

\n\n\n\Mytext is here\n new line \n\n

开头和结尾有未知数量的 \n。

我怎样才能 trim 这个字符串到

Mytext is here\n new line 

以一种优雅的方式?

我知道我可以用我自己的函数编写代码。但是,也许有一个简单的解决方案?

Trim 它,使用 Stringtrim 方法,其中“Returns 字符串的副本,省略了前导和尾随空格。

请注意,它 Returns 字符串的副本 并且不会编辑 String

myString.trim()

空字符串

正如@rmertins 所说,这不是 "null safe",意思是如果你的 Stringnull 它会抛出一个 NullPointerException 所以如果你的 String可以null,把它包起来

if (myString != null)
{
  String newTrimmedString = myString.trim();
}

像@rmertins 所说的那样导入整个库来完成这项任务(即来自 apache commons 的 StringUtils)我会说这太过分了。我还要说的是,无论如何传递 null 个对象是不好的做法,并且 null String 个对象表明设计不好。

查看 String.trim() method

String foo = "\n\n  \n\t actual Value\t\n \n ";
System.out.println(foo.trim()); //prints "actual Value"

尽可能简单和优雅。不过请记住,这不仅会 trim 换行符,还会包含制表符、空格等。

String.trim()首尾trim客场白space。这可能是最快的方法。如果您需要保留其他白色 space 而只想删除 \n,我想您将不得不手动替换它们。

您可以按照

myString = myString.replace("^(\n)*","").replace("(\n)*$","");

(我没有试过这段代码。)

如果您的字符串可能是 null,您可能需要使用 StringUtils.trim() - the null-safe version of String.trim().