gpt4 book ai didi

java - 用逗号分割字符串并忽略双引号中的逗号

转载 作者:行者123 更新时间:2023-12-02 04:06:03 34 4
gpt4 key购买 nike

我正在使用 Java 进行编码,并且有一个方法返回一个如下所示的字符串:

0, 2, 23131312,"This, is a message", 1212312

我希望字符串像这样被吐出:

["0", "2", "23131312", "This, is a message", "1212312"]

当我在逗号上使用分割字符串方法时,它也会分割“这是一条消息”,这是我不想要的。如果可能的话,我希望它忽略该特定逗号并去掉双引号。

我查找了一些答案,CSV 似乎是实现这一点的方法。但是,我没有正确理解它。

最佳答案

我认为你可以使用正则表达式,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)从这里:Splitting on comma outside quotes

您可以在此处测试该模式: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(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)")));

}

关于java - 用逗号分割字符串并忽略双引号中的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34257547/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com