Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何识别给定字符串是否以换行符结尾_Java - Fatal编程技术网

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

在java中,如何识别所提供的字符串是否以换行符结尾

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])