计算 Java String 中的行数

新手上路,请多包涵

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

 "Hello\nWorld\nThis\nIs\t"

应该返回 4。原型是

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

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

原文由 Simon Guo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答
private static int countLines(String str){
   String[] lines = str.split("\r\n|\r|\n");
   return  lines.length;
}

原文由 Tim Schmelter 发布,翻译遵循 CC BY-SA 2.5 许可协议

这个怎么样:

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

这样就不需要把String拆分成很多新的String对象,后面会被垃圾回收器清理掉。 (使用 String.split(String); 时会发生这种情况)。

原文由 Martijn Courteaux 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题