当前位置: 代码迷 >> J2SE >> [100分] 请问一个字符串操作
  详细解决方案

[100分] 请问一个字符串操作

热度:11   发布时间:2016-04-23 20:36:24.0
[100分] 请教一个字符串操作
有点基础,勿喷。。。。

有个一字符串                                              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);
  相关解决方案