你如何检查一个字符串是否在一行的末尾?

时间:2014-05-12 20:37:52

标签: java string file

我无法检测字符串是否在一行的末尾。例如,在字符串中:

"hey hi
 hello"

如何检测hi是否在行尾?我正在读取文件中的字符串,那么文件中的行尾字符是否有所不同?

4 个答案:

答案 0 :(得分:0)

您可以使用BufferedReader或类似对象来阅读文件,只需使用readLine()方法一次读取一行。

http://docs.oracle.com/javase/1.5.0/docs/api/java/io/BufferedReader.html

答案 1 :(得分:0)

尝试将MULTILINE标志与正则表达式一起使用。

// this allows spaces between 'hi' and the end of the line
yourString.matches("(?m).*hi\s*$");

// this does not allow spaces
yourString.matches("(?m).*hi%");

答案 2 :(得分:0)

新行字符在不同的操作系统上有不同的表示形式。它可能是

  • LF - '\ n'
  • CR - '\ r'
  • CR + LF - '\ r \ n'

您可以检查下一个字符是前面提到的字符,具体取决于输入的操作系统。

您使用StringTokinizerBufferedReader.readLine()进行行读取或字符串拆分

答案 3 :(得分:0)

getline(istream,string)正在读取字符end_of_line的输入,你可以从readed字符串中获取最后一个字符串。