cal*_*ava 2 java csv string split
我正在用 Java 编码,并且有一个方法可以返回一个如下所示的字符串:
0, 2, 23131312,"This, is a message", 1212312
Run Code Online (Sandbox Code Playgroud)
我希望字符串像这样吐出:
["0", "2", "23131312", "This, is a message", "1212312"]
Run Code Online (Sandbox Code Playgroud)
当我在逗号上使用拆分字符串方法时,它也会拆分“这是一条消息”,这是我不想要的。如果可能,我希望它忽略那个特定的逗号并去掉双引号。
我查了一些答案,CSV 似乎是这样做的方法。但是,我没有正确理解它。
小智 7
我认为您可以,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)从这里使用正则表达式:在引号外的逗号上拆分
你可以在这里测试模式:http : //regexr.com/3cddl
Java代码示例:
public static void main(String[] args) {
String txt = "0, 2, 23131312,\"This, is a message\", 1212312";
System.out.println(Arrays.toString(txt.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)")));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12080 次 |
| 最近记录: |