![](/img/trans.png)
[英]String split on comma exclude comma in double quote and split adjacent commas
[英]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.