我的字符串看起来像“NAME:City~FORMAT:S~PRINT:true”
我想拆分并将“City”的值分配给field1,将“S”分配给field2,将true分配给field3(布尔值)。
我知道我可以用暴力破解这段代码,但是有没有办法将第二次分割的值解析为字段而不对下标做某种检查以查看它是否是一个奇数值(例如下标0是NAME,但我想要下标1,即“城市”)。
for (String element : text.split("~")) {
for (String rule : element.split(":")) {
System.out.println(rule);
}
}
答案 0 :(得分:2)
您还可以通过执行与此类似的操作来避免循环:
String[] flds = text.split("NAME:|~FORMAT:|~PRINT:");
String field1 = flds[1];
String field2 = flds[2];
String field3 = flds[3];
答案 1 :(得分:1)
你可以做到
for (String element : text.split("~")) {
System.out.println(element.split(":")[1]);
}
split()
返回一个数组,你想要第二个元素,其索引为1
。