java逗号分隔字符串-数据中也有逗号的处理
1:问题描述
有时候编码时,·经常会用到分隔这个操作,现成的操作可以直接用split,就分隔了,但是有些时候 就不能用这个,比如你用逗号分隔,那如果数据中也有逗号,那本来不能把它分开 现在被分开了就会出问题,如:
字符串:"abc,abcd,'aaa,bbb',qwer",这种情况用逗号,就不行,因为中间有个特殊的数据,数据中带有逗号。特别是csv格式的字符串,这种情况很多。所以下面列举普通的和csv两种格式的分隔。
1.1:普通字符串分隔:
优点:可以自定义分隔符号
缺点:遇到复杂的数据,则不能在直接这样分隔,容易造成数据异常
String[] split = str.split(",");
1.2:特殊字符串
引入依赖
<dependency> <groupId>org.jodd</groupId> <artifactId>jodd-core</artifactId> <version>5.0.7</version> <classifier>sources</classifier> <type>java-source</type> </dependency>
String[] strings = CsvUtil.toStringArray(csvStr);
优点:数据中带逗号啥的都没关系,只要数据与数据之间是逗号分隔的,就完全没问题
缺点:不能传自定义的符号分隔(可通过重写该方法,变为其他符号分隔)