Java 如何识别给定字符串是否以换行符结尾
在java中,如何识别所提供的字符串是否以换行符结尾Java 如何识别给定字符串是否以换行符结尾,java,Java,在java中,如何识别所提供的字符串是否以换行符结尾 String superString = "This is a string\n"; if (superString.charAt(superString.length()-1) == "\n") { ... } 尽管如此,我不使用Java编写代码。但这是我的朋友。:) 如果字符串不存在,则需要将其转换为UTF-8格式。这里使用characterAT(),最后两个字符加上“\n”和“\r”。如果您想知道系统新行分隔符: Syste
String superString = "This is a string\n";
if (superString.charAt(superString.length()-1) == "\n")
{
...
}
尽管如此,我不使用Java编写代码。但这是我的朋友。:) 如果字符串不存在,则需要将其转换为UTF-8格式。这里使用characterAT(),最后两个字符加上“\n”和“\r”。如果您想知道系统新行分隔符:
System.getProperty("line.separator")
以及:
字符串具有方法调用公共布尔endsWith(字符串后缀) 因此,通过使用上述方法,我们可以找到新的线字符
string.public boolean endsWith(“\n”)代码>换行符是一个依赖于操作系统的概念。在Unix上是一个字符(换行符-U+000A),在Windows上是两个字符(回车符+换行符,U+000D U+000A),甚至可能是换行符(NEL,U+0085,我认为某些大型机可能会使用)
一些正则表达式引擎接受\R
表示换行符。Tom Christiansen将Java的\R
定义如下:
\R => (?:(?>\u000D\u000A)|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029])
看这个
然后,您可以使用一个正则表达式,如\R$
,或者在Java\\R$
中表示“换行结束”。获取最后一个字符并检查它是否是换行符?Java中的字符串是独立编码的(其内部表示为UTF-16,但您不必关心它,Java为您做)@Bug_u2;默认情况下,我知道java字符串中存在UTF-16错误,但您可以格式化字符串s=“此处的某些文本”;字节[]b=s.getBytes(“UTF-8”);然后您可以找到。换行符可以是\n(unix)或\r\n(Windows)。我可以用这个吗。。。string.endsWith(\\r?\\n)endsWith不接受regex,所以不接受。它应该是string.endsWith(System.getProperty(“line.separator”)(您可能想将行分隔符兑现,这样您就不会每次都调用getProperty)Java没有\r作为正则表达式组,抱歉。@javamonkey79:然后使用提供的替换。哦。
\R => (?:(?>\u000D\u000A)|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029])