Java:测试字符串是否以换行符结尾

标签 java string

我想执行一个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");

String#charAt :

boolean endsWithNewLine = nextResult.charAt(nextResult.length() - 1) == '\n';

但是,您当前的代码对我来说工作正常。可能您输入的内容有错别字。

关于Java:测试字符串是否以换行符结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748992/

相关文章:

java - Apache Storm Kafka Spout 延迟问题

java - _winreg 的 Python 替代品

java - 无法找到或加载主类 Mysql

java - 如果 JFrame 调整大小,则调整 JProgressBar 的大小

python - C和python代码之间的套接字通信

C# - 使用字符串命名单选按钮并访问其属性

string - 高效的海量字符串搜索问题

java - 自定义复合 View 抛出 "Error inflating class"

c - C 中各种字符串初始化的大小差异

java - 在 Java 中查找特定长度/格式的子字符串