一个字符串[a=1,b=2,c=3]在java中如何快速的通过get(a)取到1,get(b)取到2

如题,里面的值很多,不要用截取字符串循环的办法。

第1个回答  2014-02-19
int k = str.indexOf("a");
String ss = str.substring(k);
int j = ss.indexOf(",");
String s = ss.substring(2,j);
System.out.println(s);

思路:直接找到"a"的位置,然后把a之前的字符都截掉,
然后字符串变成a=1,b=……
然后找到第一个","的位置,
然后通过位置得到1这个值。
如果字符串中存在aa=7这样的情况,可以从"="号位置来截取。
思路就这样,希望能帮到你
第2个回答  2014-02-19
1.第一步,通过split函数,按照“,”将其拆分为a=1,b=2,c=的数组。
2.循环第一步的数组,使用spring函数按照"="将其拆分为键和值,然后将键和值使用HashMap存储。
3.使用map的get方法,即可根据键取到值。
第3个回答  2014-02-19
不让截取,循环。那就正则表达式呗
第4个回答  2014-02-19
Map m = new HashMap();

String s = "a=1,b=2,c=3";

String [] fri = s.split(",");

for (String ele : fri) {
String[] pair = ele.split("=");
m.put(pair[0], pair[1]);
}

System.out.println(m.get("a"));
System.out.println(m.get("b"));本回答被提问者和网友采纳