我正在尝试使用正则表达式将字符串拆分为字段,但不幸的是它不能 100% 工作并且正在跳过一些应该拆分的部分。这是程序处理字符串的一部分:
void parser(String s) {
String REG1 = "(',\\d)|(',')|(\\d,')|(\\d,\\d)";
Pattern p1 = Pattern.compile(REG1);
Matcher m1 = p1.matcher(s);
while (m1.find() ) {
System.out.println(counter + ": "+s.substring(end, m1.end()-1)+" "+end+ " "+m1.end());
end =m1.end();
counter++;
}
}
字符串是:
s= 3101,'12HQ18U0109','11YX27X0041','XX21','SHV7-P Hig, Hig','','GW1','MON','E','A','ASEXPORT-1',1,101,0,'0','1500','V','','',0,'mb-master1'
问题是它不会分裂,1,
或,0,
解析规则是: 字符串被包围 ,' ',
例如,'ASEXPORT-1',
int
仅被包围, ,
预期产出 =
3101 | 12HQ18U0109 | 11YX27X0041 | XX21 | SHV7-P Hig, Hig| |GW1 |MON |E | A| ASEXPORT-1| 1 |101 |0 | 0 |1500 | V| | | 0 |mb-master1
共有 21 个元素。