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

如题,里面的值很多,不要用截取字符串循环的办法。... 如题,里面的值很多,不要用截取字符串循环的办法。 展开
 我来答
易望舒
2014-02-19 · TA获得超过102个赞
知道小有建树答主
回答量:88
采纳率:100%
帮助的人:85.3万
展开全部
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这样的情况,可以从"="号位置来截取。
思路就这样,希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Dawson201308
2014-02-19
知道答主
回答量:4
采纳率:0%
帮助的人:5513
展开全部
1.第一步,通过split函数,按照“,”将其拆分为a=1,b=2,c=的数组。
2.循环第一步的数组,使用spring函数按照"="将其拆分为键和值,然后将键和值使用HashMap存储。
3.使用map的get方法,即可根据键取到值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
29cyy
2014-02-19 · TA获得超过2186个赞
知道小有建树答主
回答量:2826
采纳率:45%
帮助的人:582万
展开全部
不让截取,循环。那就正则表达式呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
8D7798CE4E86
2014-02-19
知道答主
回答量:29
采纳率:0%
帮助的人:21.9万
展开全部
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"));
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式