Java获取String变量中的最后一行(最快的方法)

6
我有一个包含文本行的字符串变量。
line1(Contains String)
line2(Contains String)
line3(Contains String)
line4(Contains String)

我的要求是获取文本的最后一行?

有人能帮忙吗?


1
阅读有关StringReader的内容:https://dev59.com/93NA5IYBdhLWcg3wF5qO - MariuszS
6个回答

17
paragraph.substring(paragraph.lastIndexOf("\n"));

6
// get the index of last new line character
int startIndex = str.lastIndexOf("\n");

String result = null;

// see if its valid index then just substring it to the end from that

if(startIndex!=-1 && startIndex!= str.length()){
  str.subString(startIndex+1);
}

4

假设你的字符串是这样的

String s = "aaaaaaaaaaaaa \n bbbbbbbbbbbbbbb \n cccccccccccccccccc \nddddddddddddddddddd";

现在您可以使用以下方法进行拆分:

    String[] arr = s.split("\n");
    if (arr != null) {
        // get last line using : arr[arr.length - 1]
        System.out.println("Last    =====     " + arr[arr.length - 1]);
    }

2

你可以尝试

paragraph.substring(paragraph.lastIndexOf("\n"));

1
变量命名是巧合吗? :-) - rajesh
1
@rajesh 干杯 :) ,这也是我代码中已有的一行 :) - Suresh Atta

1

String[] lines = fileContents.split("\n"); String lastLine = lines[lines.length - 1];

这个lastline变量将包含最后一行。


0

示例(慢速解决方案)

String line = null;
Scanner scanner = new Scanner(myString);
while (scanner.hasNextLine()) {
  line = scanner.nextLine();
}

这行代码之后是你的最后一行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接