有点基础,勿喷。。。。
有个一字符串 String str="[小苗,小李,小张][1,2,3]";
怎么把它放到一个Map里,结果为 小苗=1 小李=2 小张=3
------解决方案--------------------
String str = "[小苗,小李,小张][1,2,3]";
String[] array = str.split("(\\]\\[)");
String[] keys = array[0].substring(1).split(",");
String[] values = array[1].substring(0, array[1].length() - 1).split(",");
Map<String, String> map = new HashMap<String, String>();
for (int i = 0; i < keys.length; i++) {
map.put(keys[i], values[i]);
}
------解决方案--------------------
String str="[小苗,小李,小张][1,2,3]";
Map<String, String> map = new HashMap<String, String>();
String[] keys=null;
String[] values=null;
Matcher m = Pattern.compile("\\[(.*?)\\]\\[(.*?)\\]").matcher(str);
while(m.find()){
keys=m.group(1).split(",");
values=m.group(2).split(",");
}
for (int i = 0; i < keys.length; i++) {
map.put(keys[i], values[i]);
}
System.out.println(map);