繁体   English   中英

如何在Java中从回车符中修剪字符串

[英]How to trim a string from carriage returns in java

我有一个字符串:

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

在开始和结束时的\\ n数量未知。

我怎么修剪这串

Mytext is here\n new line 

以优雅的方式?

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

使用String trim方法修剪它,该方法“ 返回字符串的副本,并且省略前导和尾随空格。

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

myString.trim()

空字符串

正如@rmertins所说,这不是“空值安全”,这意味着如果您的Stringnull ,它将抛出NullPointerException因此如果您的String可以为null ,则将其包装起来。

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

像@rmertins所说的那样,导入整个库来完成一项任务(例如,来自Apache Commons的StringUtils ),我会说是过头了。 我还要说,无论如何都要传递null对象是一个坏习惯,而null String对象则表明设计不好。

String.trim()将在开头和结尾处String.trim()空白。 那可能是最快的方法。 如果您需要保留其他空格而只想删除\\n ,我想您将不得不手动替换它们。

您可以尝试以下方法

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

(我没有尝试过此代码。)

String.trim()方法

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

尽可能简单而优雅。 但是请记住,这不仅会修剪换行符,还会修剪制表符,空格等。

如果您的字符串可能为null ,则可能要使用StringUtils.trim() - String.trim()的null安全版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM