计算 Java 字符串中的行数

2022-08-31 16:00:45

需要一些紧凑的代码来计算Java中字符串中的行数。该字符串由 或 分隔。这些换行符的每个实例都将被视为一个单独的行。例如-\r\n

"Hello\nWorld\nThis\nIs\t"

应返回 4。原型是

private static int countLines(String str) {...}

有人可以提供一组紧凑的陈述吗?我在这里有一个解决方案,但我认为它太长了。谢谢。


答案 1
private static int countLines(String str){
   String[] lines = str.split("\r\n|\r|\n");
   return  lines.length;
}

答案 2

怎么样:

String yourInput = "...";
Matcher m = Pattern.compile("\r\n|\r|\n").matcher(yourInput);
int lines = 1;
while (m.find())
{
    lines ++;
}

这样,您就不需要将 String 拆分为许多新的 String 对象,这些对象稍后将由垃圾回收器清理。(使用 时会发生这种情况)。String.split(String);