在java中从csv拆分数据时忽略管道(|)内的逗号

在java中从csv拆分数据时忽略管道(|)内的逗号,java,csv,Java,Csv,我有一个csv文件,我想用逗号分割所有值,但管道内的值(|)不应分割。示例行: 145132825311563,400000,D,|2112163531049,1000N1020170421826600001 |,B 我需要输出为: 145132825311563 400000 D |2112163531049,1000N1020170421826600001 | B 我尝试过类似问题中给出的一些方法,但没有一种适用于管道(|)。您是否正在编写自己的CSV解析器?(为什么?)

我有一个csv文件,我想用逗号分割所有值,但管道内的值(
|
)不应分割。示例行:

145132825311563,400000,D,|2112163531049,1000N1020170421826600001     |,B
我需要输出为:

145132825311563
400000
D
|2112163531049,1000N1020170421826600001     |
B

我尝试过类似问题中给出的一些方法,但没有一种适用于管道(
|
)。

您是否正在编写自己的CSV解析器?(为什么?)?在Apache Commons CSV中,
CSVFormat.withQuote(“|”)
应该可以工作。我正在尝试使用String.split()方法。好的,不要这样做<代码>拆分()一旦通过最简单的CSV格式,就不够好了。使用CSV库。这个答案可能会有帮助,只需更改管道的引号:这很有帮助。多谢!