我有一个纯文本文件,格式如下:
-~-http://www.google.com
-@-Google+
-@-About Google
-~-http://www.somewebpage.com
-@-A
Google
Search
-@-How to Google
-~-http://www.mycoolwebpage.com
-@-Google is Awesome!!!
我需要阅读链接(用 - 〜 - 表示),并将它们放在List<String>
被叫链接中。我还需要读取输出(用 - @ - 表示)并将它们放在List<List<String>>
调用的输出中。我需要读取所有文本到下一个标志( - 〜 - / \ t - @ - ),我还需要知道文本前面的哪个标志。我试过了Delimiter
,但我不确定我能否知道Delimiter
String
答案 0 :(得分:1)
我会避免使用扫描仪分隔符。只需读取每一行并在代码中处理它。对于每一行,首先扔掉(或忽略)任何前导空格。然后,如果该行以分隔符开头,则包装任何挂起的链接/输出(请参阅下面的含义)。然后,
-~-
开头,那么从该行到行尾的文本就是链接的开头,所以开始累积链接文本(在StringBuilder
中)。此外,如果您有非空输出列表,请将列表附加到列表output
列表中。-@-
开头,则它是输出的开头,所以开始累积输出文本。要“结束任何待处理的链接/输出”,请将StringBuilder
的当前内容转换为String
并添加到相应的列表中。同时将任何非空输出列表附加到output
。
这里有很多簿记细节,我没有提到,但这是基本的想法。