我想执行一个substring.equals("\n")
。在下面的代码中,我取最后一个字符并检查它是否是换行符。
String substring = nextResult.length() > 1 ? nextResult.substring(nextResult.length() - 1) : nextResult;
return substring.equals("\n") ? /* do stuff */ : /* do other stuff */;
我只取最后一个字符,因为 Java 将 \n
作为一个 char
。但是,据我所知,substring.equals("\n")
为空格 (""
) 返回 true
,我认为制表符(\t
)。是这样吗?
如何正确检查字符串结尾是否为换行符,或者至少该字符串是否为换行符?
最佳答案
您可以使用 String#endsWith
:
boolean endsWithNewline = nextResult.endsWith("\n");
boolean endsWithNewLine = nextResult.charAt(nextResult.length() - 1) == '\n';
但是,您当前的代码对我来说工作正常。可能您输入的内容有错别字。
关于Java:测试字符串是否以换行符结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748992/