如何删除最后的换行符(\n)

6
我有以下代码。如果条件为真,它会进入IF语句中的行,但是当我稍后检查answerText时,它仍然在末尾有换行符。
if(answerText.endsWith("\n")){
     answerText = answerText.substring(0, answerText.length()-2);           
}

1
@Adam的回答目前为止是最好的,但我怀疑你还有其他错误导致了你的问题。 - Hovercraft Full Of Eels
4
你所发布的代码唯一的问题就是它应该是 length()-1 - Brian Roach
你如何准确地检查它?顺便说一句,你删除的字符比你想要的多一个,第二个索引是排除在外的。 - Ingo
2个回答

14
answerText = answerText.trim()

public String trim()

返回一个副本,其中前导和尾随空白已被省略。


1
我删除了我的答案,选择了这个更好的答案。1+ - Hovercraft Full Of Eels
1
我知道这是一个很旧的回答,但如果有人仍在寻找:这并没有回答问题!trim()会删除字符串开头和结尾的所有空白字符,包括制表符、空格等。OP只是问如何删除最后一行。 - Neph

1
org.apache.commons.lang3.StringUtils.stripEnd( "text\n\n\n" , "\n" );

仅在源字符串的结尾处删除子字符串,否则返回源字符串。

社区鼓励在代码旁边添加解释,而不仅仅是基于代码的答案(请参见此处)。另外,请查看格式帮助页面以改善您的格式。 - costaparas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接