我有一个字符串:
\n\n\n\Mytext is here\n new line \n\n
在开头和结尾都有未知数量的\ n。
如何将此字符串修剪为
Mytext is here\n new line
以优雅的方式?
我知道我可以使用自己的功能编写代码。但是,也许有一个简单的解决方案?
答案 0 :(得分:5)
使用String
的{{3}}方法修剪它,“返回字符串的副本,省略前导和尾随空格。”
请注意,返回字符串的副本,不会编辑String
myString.trim()
空字符串
正如@rmertins所说,这不是“无效安全”,这意味着,如果您的String
为null
,则会NullPointerException
,如果您的String
可以{{}} {1}},包装它。
null
导入一个完整的库来完成这个任务就像@rmertins所说的那样(即来自apache commons的trim)我说的只是矫枉过正。我还要说,无论如何传递if (myString != null)
{
String newTrimmedString = myString.trim();
}
个对象都是不好的做法,null
null
个对象表明设计不好。
答案 1 :(得分:1)
String.trim()
将在开头和结尾修剪掉空格。那可能是最快捷的方式。如果您需要保留其他空格并且只想删除\n
,我认为您必须手动替换它们。
你可以尝试一下
myString = myString.replace("^(\n)*","").replace("(\n)*$","");
(我还没试过这段代码。)
答案 2 :(得分:0)
String foo = "\n\n \n\t actual Value\t\n \n ";
System.out.println(foo.trim()); //prints "actual Value"
关于它的简单和优雅。但请记住,这不仅可以修剪换行符,还可以修剪制表符,空格等。
答案 3 :(得分:0)
如果您的字符串可能为null
,则可能要使用StringUtils.trim()
-String.trim()
的空安全版本。