我得到了一些用逗號分隔的數據,但我需要逗號「」之間的數字來分隔數據。所以:「A,B」應該是「A,B」,而A,B應該分成「A」,「B」。無法讓我的正則表達式正常工作
我遇到的麻煩是,如果在行中有幾個逗號符號,那麼空白點將被忽略:A ,, B分裂爲「A」,「B」 但我需要它:「 A」,‘’,‘B’
這是我的代碼:
ArrayList<String> tokens = new ArrayList<String>();
String regex = "\"([^\"]*)\"|([^,]+)";
Matcher m = Pattern.compile(regex).matcher(line);
while (m.find()) {
if (m.group(1) != null) {
tokens.add(m.group(1));
}
else {
tokens.add(m.group(2));
}
}
,第一組工作,但我不能,因爲我需要第二個工作是:([^,] +)(除了一次或幾次以外的任何事情) 也不包括空字符串。這甚至可能嗎?
查看http://regexr.com/以測試正常表達納秒。這很好 –
@anubhava謝謝,我試過了:'String regex =「\」([^ \「] *)\」|([^,] *)「;'它增加了很多空字符串 – suziz