繁体   English   中英

字符串以逗号分隔但跳过一个逗号

[英]String split by commas but skip one comma

我有这个字符串:

"O2TV, SportTV", Netflix /603605506, 2016-01-02 15:15:01

我需要用逗号将它分成 array[3],但跳过引号中的逗号。 有什么简单的方法,比如一个拆分命令吗? 谢谢!

这真的取决于你想要什么。

如果你想总是跳过第一个逗号,你可以做类似的事情

String firstSection = csvString.substring(0, csvString.indexOf(","));
String[] remainingParts = csvString.substring(csvString.indexOf(",", csvString.indexOf(","))).split(",");

另一方面,如果你想跳过引号内的任何逗号,那么你需要一个完整的 CSV 解析器。

如果你想跳过双引号中所有出现的逗号,那么你可以参考下面的解决方案,

public class Sample {

    private static final String REGEX = ",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)";

    public static void main(String[] args) {
        String inputString = "\"O2TV, SportTV\", Netflix /603605506, 2016-01-02 15:15:01";
        String[] tokens = inputString.split(REGEX, -1);

        for (String token : tokens) {
            System.out.println(token);
        }
    } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM