【发布时间】:2011-11-30 20:06:32
【问题描述】:
我有一个文本文件,其中包含从网页上抓取的内容。文本文件的结构如下:
|NEWTAB|lkfalskdjlskjdflsj|NEWTAB|lkjsldkjslkdjf|NEWTAB|sdlfkjsldkjf|NEWLINE|lksjlkjsdl|NEWTAB|lkjlkjlkj|NEWTAB|sdkjlkjsld
|NEWLINE|表示新行的开始(即数据中的新行) |新标签|表示一行中新字段的开始(即数据中的新列)
我需要将文本文件拆分为字段和行并存储在数组或其他一些数据结构中。 |NEWLINE| 之间的内容字符串可能包含实际的新行(即 \n),但这些并不表示数据中的实际新行。
我首先逐个阅读每个字符,然后查看 8 个连续字符的集合,看看它们是否包含 |NEWTAB|。我的方法被证明是不可靠和丑陋的。我正在寻找这方面的最佳实践。最好的方法是将整个文本文件作为单个字符串读取,然后在“|NEWLINE|”上使用字符串拆分然后使用“|NEWTAB|”对结果字符串进行字符串拆分?
非常感谢!
【问题讨论】:
-
使用 OpenCSV,您可以设置自定义分隔符:opencsv.sourceforge.net/#custom-sepators
-
你试过 java.util.Scanner 了吗?
-
String.split() 有什么问题?或者像@Jomoos 提到的扫描仪?
-
也许我太仓促了,无法忽略字符串拆分。我现在试试看。
标签: java string text text-files