【问题标题】:How can I read line after line from big String?如何从大字符串中逐行读取?
【发布时间】:2012-05-22 16:19:01
【问题描述】:

考虑我在以下结构中有一些大字符串:

parameter1|parameter2|parameter3|parameter4+"\0"

*其中参数是一些通常未知长度的字符序列。

现在考虑我的大字符串包含 4 行数据,例如:

parameter1|parameter2|parameter3|parameter4+"\0"
parameter1|parameter2|parameter3|parameter4+"\0"
parameter1|parameter2|parameter3|parameter4+"\0"
parameter1|parameter2|parameter3|parameter4+"\0"

如何读取第一行,然后读取第二行,依此类推?
我知道我每次都可以使用Substring 方法轻松获取第一行,但是
如何使用Substring(或其他方法)获取大字符串的下 3 行,以便再次提取第一行(实际上代表原始大字符串的第二行)。
我知道我需要的只是最后一个“\0”(第 4 行)的索引,并且我已经有了当前行“\0”的索引。

我应该只使用lastIndexOf("\0")吗?
如果您对这种工作方式有任何其他想法甚至批评,我将非常乐意听到。

谢谢:)

【问题讨论】:

    标签: java string substring indexof


    【解决方案1】:

    您可以使用包装在 BufferedReader 中的 StringReader,例如:

    BufferedReader r = new BufferedReader(new StringReader("my multiline text..."));
    String l = null;
    while ((l=r.readLine)!=null) {
     ....
     // each line in "l"
    }
    

    http://docs.oracle.com/javase/6/docs/api/java/io/BufferedReader.html#readLine() http://docs.oracle.com/javase/6/docs/api/java/io/StringReader.html

    【讨论】:

      【解决方案2】:

      您可以使用带有"\0" 参数的String.split 方法。然后你会得到一个字符串数组(String[]),然后你可以做任何你想做的事情:)

      【讨论】:

        【解决方案3】:

        也许,

        inputString.split("\0");
        

        ?

        【讨论】:

          【解决方案4】:

          我会使用正则表达式来分隔字符串。如果您想要一个字符串数组中的所有单词,您可以使用 /s(空格)作为分隔符模式。

          你可以在这里找到信息http://www.regular-expressions.info/java.html

          【讨论】:

            猜你喜欢
            • 2010-11-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-11-03
            • 1970-01-01
            • 1970-01-01
            • 2016-08-28
            • 1970-01-01
            相关资源
            最近更新 更多