Java中怎么截取括号中的内容放到list里。

例如:Stringstr="(001)bbb,(001)ccc,(002)ddd,(002)eee......";结果我想输出Map<001,[bbb,ccc]>,<00... 例如:String str = "(001)bbb,(001)ccc,(002)ddd, (002)eee......"; 结果我想输出Map<001,[bbb,ccc]>,<002,[ddd,eee]>.......。([bbb.ccc] [ddd,eee]为 数组,LIST都可以;括号内的内容未知 但是知道两天一组,后面具体还有多少数据也未知)求解 展开
 我来答
ieicihc
推荐于2016-01-11 · TA获得超过108个赞
知道小有建树答主
回答量:89
采纳率:100%
帮助的人:30.8万
展开全部
  1. 采用正则表达式来处理;

  2. 例子如下 :

String s="dsaf(323)ldsao,(sd)"; \\示例文本
String pattern="(\\([^\\)]+\\))"; \\正则表达式,匹配括号内容
ArrayList list=new ArrayList();
Pattern p=Pattern.compile(pattern);
Matcher m=p.matcher(s);
while(m.find()){
list.add(m.group());
}
JesChou
推荐于2016-06-28 · TA获得超过1431个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:383万
展开全部
先分割字符串为数组 String[] ss=str.split(",");
Map<String,ArrayList<String>> map=new HashMap<String,ArrayList<String>>();

for(String s:ss){
int i=s.indexOf(')');
String strn=s.substring(1,i);//截取数字,001,002等
String str1=s.substrng(i+1);//截取字符串bbb,ccc等
ArrayList<String> al=map.get(strn);
if(al==null)
al=new ArrayList<String>();
al.add(str1);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式