2012-08-27 26 views
3

我有一个字符串,看起来像“姓名:市〜FORMAT:S〜PRINT:真正的”的Java分成3个字段

我想分裂和“城市”的值赋给字段1“ S“到field2,并且到field3(布尔)。

我知道我可以通过蛮力研究这段代码,但是有没有办法将第二次拆分的值解析为字段,而无需对下标进行某种检查以查看它是否是奇数值例如下标0是NAME,但我想下标1,它是“城市”)。

for (String element : text.split("~")) { 
     for (String rule : element.split(":")) { 
      System.out.println(rule); 
     } 

    } 

回答

1

你可以只是做

for (String element : text.split("~")) { 
    System.out.println(element.split(":")[1]); 
} 

split()返回一个数组,并希望第二个元素,其中有指数1

2

您也可避免做一些类似的循环:

String[] flds = text.split("NAME:|~FORMAT:|~PRINT:"); 
String field1 = flds[1]; 
String field2 = flds[2]; 
String field3 = flds[3];