我打算修改文件格式,以便每个字段都应该用双引号括号"A","Field1","Field2","Field3","Fi"el,d","Fi""eld"
括起来,我希望将分隔符合并为ie,(双引号后跟逗号)怎么做我将以下split命令更改为包含两个分隔符“,(双引号和逗号)line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)",15);
答案 0 :(得分:2)
如何更改以下拆分命令以包含两个分隔符“,(双引号和逗号)
这样就可以了:
line.split("\",");
您需要修剪分割未删除的额外引号。您也可以考虑拆分"\",\""
。
但是,我建议您尝试为您的平台找到现有的CSV阅读器,而不是重新发明轮子。它会更好,更快,而且工作量也会减少。
答案 1 :(得分:1)
在我们的应用程序中,我们多年来也支持逗号分隔文件。一切顺利,直到客户开始在字符串中添加双引号。 我们通过允许将值嵌入单引号(并且不允许双引号之间的单引号或单引号之间的双引号)来解决该问题,但随后客户希望在字符串中添加单引号和双引号,或者不能t以一种简单的方式生成这个文件,因为拥抱角色取决于值。
然后我们开始支持反斜杠,但情况只会变得更糟。
我们最终通过使用TAB作为分隔符(而不是逗号)来解决问题。 TAB永远不会出现在字符串值中。不再需要引号了。问题解决了。