【问题标题】:java getting Last line(fastest way) from a String Variablejava从字符串变量中获取最后一行(最快的方式)
【发布时间】:2013-05-06 06:45:25
【问题描述】:

我有一个包含文本行的字符串变量

line1(Contains String)
line2(Contains String)
line3(Contains String)
line4(Contains String)

我的回报是得到最后一行文字?

有人可以帮忙吗?

【问题讨论】:

标签: java android string java-me


【解决方案1】:
paragraph.substring(paragraph.lastIndexOf("\n"));

【讨论】:

    【解决方案2】:
    // 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);
    }
    

    【讨论】:

      【解决方案3】:

      假设你的字符串是这样的

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

          你可以试试

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

          【讨论】:

          • 变量命名是巧合吗? :-)
          • @rajesh欢呼:)这也是我的代码中现有的一行:)
          【解决方案6】:

          示例(慢速解决方案)

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

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

          【讨论】:

            猜你喜欢
            • 2013-03-17
            • 2019-05-11
            • 2015-03-23
            • 1970-01-01
            • 2011-06-08
            • 2011-09-12
            • 1970-01-01
            • 2015-10-19
            • 1970-01-01
            相关资源
            最近更新 更多