我从服务器获取以下字符串,仅以空格分隔。(换行符只是为了便于阅读,“XX
是一个占位符,长度可能会有所不同。方括号中的内容的长度也可能有所不同。
字符串 1:
status:ok [XXX][a=XXX b=XXX c=XXX d=XXX e=0 f=XXX g=XXX h=XXX i=XXX j=XXX
k=XXX l=XXX m=XXX n=[[XXX][XXX]] p=[[XXX][XXX][XXX][XXX][XXX][XXX][XXX]]]
end:end
字符串 2:
status:ok [XXX][a=XXX b=XXX c=XXX d=XXX d2=XXX e=XXX f=XXX g=XXX h=XXX i=XXX j=XXX
k=XXX l=XXX m=XXX n=[[XXX][XXX]] p=[[XXX][XXX][XXX][XXX][XXX][XXX][XXX]]]
end:end
方括号“[]”中的所有部分都可以包含或多或少的“[]”元素,并且内部“[]”中的单词的长度可以不同。我需要 HashMap 中的 a、b、c、d、e 等,但在我能做到之前,我需要以某种方式解析它。
如何在 Java 中有效地解析这个字符串?
我搜索并发现了很多网站和线程,人们建议除了“正则表达式解析”之外还有一些叫做“键值解析”的东西,但不幸的是,关于“键值解析”的信息很少。
编辑:最后,我想将这些值存储在 Hashmap 中,如下所示:
HashMap<String,Object> myHashMap = new HashMap();
myHashMap.put(a, XXX);
....
myHashMap.put(p,array-of-all-[XXX]);