java - 使用分隔符拆分并忽略作为数据一部分的分隔符和引号字符
问题描述
我有如下数据
111,222,"33,44,55",666,"77,88","99"
它由引号字符分隔,
并放置在引号字符之间以忽略数据内部的分隔符
String input = "111,222,\"33,44,55\",666,\"77,88\",\"99\"";
String[] splits = input.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
for(String s : splits){
System.out.println(s);
}
上面的代码工作正常并返回
111
, 222
, "33,44,55"
, 666
, "77,88"
,"99"
但现在数据本身包含引号字符
111,222,” 33,”44,55 ”,666,”77,88”,”99”
我想回来
111
, 222
, "33,"44,55"
, 666
, 77,88
,99
但我得到111,222,"33
, "44,55"
, 666
, "77,88"
,"99"
String input = "111,222,\"33,\"44,55\",666,\"77,88\",\"99\"";
如果引号字符是数据的一部分,该模式无法正常工作,有人可以帮我获取数据吗
解决方案
推荐阅读
- swift - GIDSignIn.sharedInstance : sharedInstance 不是函数?
- java - 权限不足:请求的身份验证范围不足。谷歌云端硬盘
- angular - 在 Visual Studio 2019 项目中更新 Angular 版本
- python - 尽管密钥存在,但由于密钥错误而不会生成 Wordcloud
- flutter - 我在设备资源管理器中找不到数据库
- python - OPCUA 服务器没有收到主机/端口/sock 来启动
- r - 错误:“unmarkedFitOccu”类的这个对象没有名为“occ_df”的插槽
- postgresql - 确定哪个服务侦听通知但不使用它们
- c# - 如何根据 ForeignKeyConstraint 处理删除触发的异常?
- python - 异步搜索方法 Python Ldap3