Java在第三个逗号上拆分字符串

我有一个字符串,我需要拆分为2.我想通过拆分恰好第三个逗号来做到这一点。

我该怎么做呢?

编辑

示例字符串是:

from:09/26/2011,type:all,to:09/26/2011,field1:emp_id,option1:=,text:1234 

字符串将保持相同的格式 – 我希望字符串中的字段之前的所有内容。

如果您只是想将字符串拆分为第三个逗号的索引,我可能会这样做:

 String s = "from:09/26/2011,type:all,to:09/26/2011,field1:emp_id,option1:=,text:1234"; int i = s.indexOf(',', 1 + s.indexOf(',', 1 + s.indexOf(','))); String firstPart = s.substring(0, i); String secondPart = s.substring(i+1); System.out.println(firstPart); System.out.println(secondPart); 

输出:

 from:09/26/2011,type:all,to:09/26/2011 field1:emp_id,option1:=,text:1234 

相关问题:

  • 如何在字符串中找到第n个字符?

一个天真的实施

 public static String[] split(String s) { int index = 0; for(int i = 0; i < 3; i++) index = s.indexOf(",", index+1); return new String[] { s.substring(0, index), s.substring(index+1) }; } 

这没有边界检查,如果没有按预期输入,将抛出各种可爱的exception。 鉴于"ABCD,EFG,HIJK,LMNOP,QRSTU"返回["ABCD,EFG,HIJK","LMNOP,QRSTU"]

你可以使用这个正则表达式:

 ^([^,]*,[^,]*,[^,]*),(.*)$ 

结果是两个捕获(1和2),不包括第三个逗号。