Java String的split方法(正则)使用

想实现字符串逗号分隔, 但是有特殊情况就是{}内的逗号不用分
例子
1.aaa,{a,b}
分隔成aaa和{a,b}
2.{c,d},{a,b}
分隔成.{c,d}和{a,b}
3.aaa,a,b
分隔成aaa 和 a 和 b

spilt方法就是通过某些特定字符,之后截取成字符串数组,举例:

String str = "aaaaaabaabaaaaaa";//定义一个字符串

String[] index= str.split("b");//通过字符串截取为字符串数组

System.out.print(index[0]);//获取到数组的第一个值

结果就是:aaaaaa;

备注:可以通过length方法获取到字符数组的长度,结果就是:3.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-21
subjectString.split("(?m),(?![^{}]\\})")

匹配一个不在大括号里的逗号

如上即可本回答被提问者和网友采纳
第2个回答  2013-02-20
这个不大好用split方法,可以自己写个, 扫描字符串, 定义一个flag 初始值=true, 从第一个开始扫描,遇到
“,”且flag =ture 截取,遇到“{”设 flag=false 遇到“}”再把flag 设为true
第3个回答  2013-02-22
使用\\转移就好了
第4个回答  2013-02-20
这个在里面用个if条件可以不?当找到 { 且未找到 } 时 直接跳过不执行分隔的方法
相似回答