我想执行一个substring.equals("\n"). 在下面的代码中,我取最后一个字符并检查它是否是换行符。
String substring = nextResult.length() > 1 ? nextResult.substring(nextResult.length() - 1) : nextResult;
return substring.equals("\n") ? /* do stuff */ : /* do other stuff */;
Run Code Online (Sandbox Code Playgroud)
我只取最后一个字符因为Java采用\n为一体char。但是,从我所见,substring.equals("\n")返回true空格 ( " "),我认为是制表符 ( \t)。是这样吗?
如何正确检查字符串的结尾是否为换行符,或者至少该字符串是否为换行符?
您可以使用String#endsWith:
boolean endsWithNewline = nextResult.endsWith("\n");
Run Code Online (Sandbox Code Playgroud)
boolean endsWithNewLine = nextResult.charAt(nextResult.length() - 1) == '\n';
Run Code Online (Sandbox Code Playgroud)
但是,您当前的代码对我来说很好用。也许您的输入中有某种拼写错误。
| 归档时间: |
|
| 查看次数: |
9245 次 |
| 最近记录: |