gpt4 book ai didi

Java字符串解析为HashMap

转载 作者:行者123 更新时间:2023-11-29 05:44:15 26 4
gpt4 key购买 nike

我有以下格式的输入字符串:

消息:id1:[label1:label2....:labelN]:id2:[label1:label2....:labelM]:id3:[label1:label2....:labelK]...

它基本上是与标签集相关联的 ID。可以有任意数量的 ID 和与这些 ID 关联的标签。

我希望能够解析这个字符串并生成一个 id->labels 形式的 HashMap 以便稍后快速查找。

我想知道在 java 中解析此消息的最有效方法是什么?

最佳答案

像这样的东西应该适合你:

String str = "Message:id1:[label1:label2:labelN]:id2:[label1:label2:labelM]:id3:[label1:label2:labelK]";
Pattern p = Pattern.compile("([^:]+):\\[([^\\]]+)\\]");
Matcher m = p.matcher(str.substring(8));
Map<String, List<String>> idmap = new HashMap<String, List<String>>();
while (m.find()) {
List<String> l = new ArrayList<String>();
String[] tok = m.group(2).split(":");
for (String t: tok)
l.add(t);
idmap.put(m.group(1), l);
}
System.out.printf("IdMap %s%n", idmap);

现场演示:http://ideone.com/EoieUt

关于Java字符串解析为HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16387726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com