OpenCSV、antlr、jsaparなどのJavaパーサーをたくさん見ることができましたが、カスタムの行区切り記号と列区切り記号の両方を指定できるものはありませんか?このような使いやすいライブラリはありますか。今はScannerやStringtokenizerを使って書きたくありません!
例えば。A | B || C | D || E | F
上記の文字列を{{A、B}、{C、D}、{E、F}}のようなものに分割したい
OpenCSV、antlr、jsaparなどのJavaパーサーをたくさん見ることができましたが、カスタムの行区切り記号と列区切り記号の両方を指定できるものはありませんか?このような使いやすいライブラリはありますか。今はScannerやStringtokenizerを使って書きたくありません!
例えば。A | B || C | D || E | F
上記の文字列を{{A、B}、{C、D}、{E、F}}のようなものに分割したい
自分で解析できます。達成するのは非常に簡単です。このコードは実際にはテストしていません。自分で試してみてください。
line_delimiter = "||";
column_delimiter = "|";
String rows[];
rows = str.split(line_delimiter);
for (int i = 0; i < rows.length; i++) {
String columns[];
columns = rows[i].split(column_delimiter);
for (int j = 0; j < columns.length; j++) {
// Do something to your data here;
}
}
実際、JSaParを使用すると、行区切り文字とセル区切り文字の両方に任意の文字シーケンスを使用できます。スキーマ内で使用する区切り文字を指定します。これは任意の数の文字にすることができます。
両方で同じ文字を使用することで直面する問題は、改行があるのか、それとも単なる空のセルなのかをパーサーが認識できないことです。