解析不在逗号之间的空格的快捷方式? [复制]
Posted
技术标签:
【中文标题】解析不在逗号之间的空格的快捷方式? [复制]【英文标题】:Short way to parse white spaces that are not between commas? [duplicate] 【发布时间】:2013-04-19 13:45:00 【问题描述】:有没有一种捷径(可能是 str.split 变体)通过空格解析字符串,同时在引号之间绕过它?
示例: 这应该拆分“这不是”等等
结果:
[0] - this; [1] - should; [2] - be; [3] - split; [4] - "this is not";
[5] - and; [6] - so; [7] - on;
谢谢
【问题讨论】:
你的意思是“在 qoutes 之间”。 见这里:***.com/questions/1757065/… opencsv.sourceforge.net :出于所有实际目的,使用库进行 csv 解析:OpenCSV 做了很多出色的工作 数据可以有嵌套引号,如aa "bb "cc cc" bb" aa
吗?
【参考方案1】:
试试这个:
String words = input.split(" +(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
只有在右边有偶数个引号时才表示拆分。它不适合转义引号,但这并不难 - 只是变得非常难以阅读。
【讨论】:
在这种情况下,我想说与 Matcher 匹配比拆分更灵活... @nhahtdh 你是什么意思?为什么灵活性是相关的?任务是分裂。一个电话就能搞定,为什么要使用多行? 例如-"
为奇数的情况,或者"abc"next to quote
的情况。自定义正则表达式比 split
更容易。以上是关于解析不在逗号之间的空格的快捷方式? [复制]的主要内容,如果未能解决你的问题,请参考以下文章