Java将字符串拆分为Hashmap

时间:2015-08-08 15:01:07

标签: java regex string split hashmap

我有一个字符串:

String text = "a|3|bad1|0|b|6|bad1|1|c|5|bad2|1|d|2|bad1|0|e|1|bad2|0"

我想将此字符串拆分为" |",将其保存到HashMap中,但跳过" bad"和它的价值。请注意"坏"单词可能是" bad1"或" bad2"。结果HashMap将如下所示:

a:3
b:6
c:5
d:2
e:1

我是一名Python程序员,对Java很新。谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

String text = "a|3|bad1|0|b|6|bad1|1|c|5|bad2|1|d|2|bad1|0|e|1|bad2|0";
String[] tokens = text.split("\\|");
Map<String, String> pairs = new HashMap<>();
for(int i = 0; i < tokens.length; i+=2) {
    if(!tokens[i].startsWith("bad")) {
        pairs.put(tokens[i], tokens[i + 1]);
    }
}

您可能需要查看StringMap的API。