3

I have a String that looks like "NAME:City~FORMAT:S~PRINT:true"

I want to split and assign the value of "City" to field1, "S" to field2, and true to field3 (Boolean).

I know I can grind through this code with brute force, but is there a way to parse the value of the 2nd split into the fields without doing some sort of check on a subscript to see if it is an odd value (e.g. subscript 0 is the NAME, but I want subscript 1, which is "City").

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

    }
4

2 回答 2

2

您还可以通过执行类似的操作来避免循环:

String[] flds = text.split("NAME:|~FORMAT:|~PRINT:");
String field1 = flds[1];
String field2 = flds[2];
String field3 = flds[3];
于 2012-08-27T21:01:32.397 回答
1

You could just do

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

split() returns an array, and you want the second element, which has index 1.

于 2012-08-27T20:41:39.767 回答