RegEx用逗号分隔一个字符串,用空格忽略逗号

我需要编写一个正则表达式来用逗号分隔一个字符串,而不是用空格逗号。我写了一个,但它没有用。

例如:

String testString = "CONGO, THE DEMOCRATIC REPUBLIC OF THE,IRAN, ISLAMIC REPUBLIC OF,KOREA, DEMOCRATIC PEOPLE S REPUBLIC OF,NEPAL,NEW ZEALAND,SRI LANKA"; 

预期结果:

  1. 刚果民主共和国刚果共和国
  2. 伊朗伊斯兰共和国
  3. 朝鲜民主主义人民共和国
  4. 尼泊尔
  5. 新西兰
  6. 斯里兰卡

我的代码:

 public class TestRegEx { /** * @param args the command line arguments */ public static void main(String[] args) { String testString = "CONGO, THE DEMOCRATIC REPUBLIC OF THE,IRAN, ISLAMIC REPUBLIC OF,KOREA, DEMOCRATIC PEOPLE S REPUBLIC OF,NEPAL,NEW ZEALAND,SRI LANKA"; String[] output = testString.split("([,][^(,\\s)])+"); for (String country : output) { System.out.println(country); } } } 

OUTPUT:

  1. 刚果民主共和国刚果共和国
  2. RAN,伊斯兰共和国
  3. OREA,DEMOCRATIC PEOPLE S REPUBLIC OF
  4. EPAL
  5. EW ZEALAND
  6. RI LANKA

 ,(?!\s) 

说明:

匹配任何未跟随空格的逗号。

请在此处查看: http : //regex101.com/r/gW3hJ8

使用零宽度lookbehind和lookahead

 testString.split("(?