RegEx用逗号分隔一个字符串,用空格忽略逗号
我需要编写一个正则表达式来用逗号分隔一个字符串,而不是用空格逗号。我写了一个,但它没有用。
例如:
String testString = "CONGO, THE DEMOCRATIC REPUBLIC OF THE,IRAN, ISLAMIC REPUBLIC OF,KOREA, DEMOCRATIC PEOPLE S REPUBLIC OF,NEPAL,NEW ZEALAND,SRI LANKA";
预期结果:
- 刚果民主共和国刚果共和国
- 伊朗伊斯兰共和国
- 朝鲜民主主义人民共和国
- 尼泊尔
- 新西兰
- 斯里兰卡
我的代码:
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:
- 刚果民主共和国刚果共和国
- RAN,伊斯兰共和国
- OREA,DEMOCRATIC PEOPLE S REPUBLIC OF
- EPAL
- EW ZEALAND
- RI LANKA
,(?!\s)
说明:
匹配任何未跟随空格的逗号。
请在此处查看: http : //regex101.com/r/gW3hJ8
使用零宽度lookbehind和lookahead
testString.split("(?