繁体   English   中英

如何从大字符串中逐行读取?

[英]How can I read line after line from big String?

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

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

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

现在考虑我的大String持有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")吗?
如果您对这种工作方式还有其他想法或批评,我将非常高兴听到。

谢谢 :)

您可以使用包装在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

您可以将String.split方法与"\\0"参数一起使用。 然后,您将获得一个字符串数组( String[] ),然后可以使用:)进行任何操作。

也许,

inputString.split("\0");

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM