0

値に任意の文字を含めることができる CSV ファイル (値を二重引用符で囲む) で機能する正規表現を見つけようとしています。私が現在使用している式は次のとおりです(Javaではバックスラッシュがエスケープされています):

",(?=(([^\"\\\\]|\\\\.)*\"([^\"\\\\]|\\\\.)*\")*([^\"\\\\]|\\\\.)*$)"

「random_value」や「random_value\」などのエントリで発生している問題。

追加情報:

"000000000000000","","","","email@yahoo.com","random_value""
"000000000000000","","","","email2@yahoo.com","random_value\"
4

2 に答える 2

0

JavaCSV の使用:

String str = "\"000000000000000\",\"\",\"\",\"\",\"email2@yahoo.com\",\"random_value\\\"\"";
CsvReader reader = CsvReader.parse(str);
reader.readRecord();
for (int i=0; i<reader.getColumnCount(); i++)
    System.out.printf("Scol[%d]: [%s]%n", i, reader.get(i));

出力:

Scol[0]: [000000000000000]
Scol[1]: []
Scol[2]: []
Scol[3]: []
Scol[4]: [email2@yahoo.com]
Scol[5]: [random_value\"]
于 2013-07-20T07:09:55.600 に答える