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都可以;括号内的内容未知 但是知道两天一组,后面具体还有多少数据也未知)求解
展开
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());
}
展开全部
先分割字符串为数组 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);
}
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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询