问题描述
现在有这么一个乱的字符串Stringstr="[tesdfg={Temp=sdaf,Params=adsfaa,No=2},{No=3}[,list={Temp=sadsfdaf,Params=aasdfa,No=4},{Temp=sdaf,Params=aaa,No=5}";要将其中的[Temp],[Params],[No]取出来,设到一个map中map=[{Temp=sdaf,Params=adsfaa,No=2},{Temp=sadsfdaf,Params=aasdfa,No=4},{Temp=sdaf,Params=aaa,No=5}]其中{No=3}这个字段不需要,因为这里没有Temp这个字段属性
解决方案
解决方案二:
循环+if+String的各个方法
解决方案三:
能给具体一点的算法吗?觉得首先应该将这串字符进行分割,分成{Temp=sdaf,Params=adsfaa,No=2},{Temp=sadsfdaf,Params=aasdfa,No=4},{Temp=sdaf,Params=aaa,No=5},但是具体的长度不能确定。。。
解决方案四:
是啊,能不能说的具体点啊,代码也行啊,因为刚学java,不知道怎么写
解决方案五:
有点像json...为什么不改成json格式呢?用JSONObject就可以解析了
解决方案六:
Stringstr="[tesdfg={Temp=sdaf,Params=adsfaa,No=2},{No=3}[,list="+"{Temp=sadsfdaf,Params=aasdfa,No=4},"+"{Temp=sdaf,Params=aaa,No=5}";Stringss="[";do{Strings=str.substring(str.indexOf("{"),str.indexOf("}")+1);if(s.startsWith("{Temp")){ss+=s+",";}//或者//if(s.indexOf(",")>0){//ss+=s+",";//}str=str.substring(str.indexOf("}")+1);}while(str.indexOf("{")>0);if(ss.endsWith(",")){ss=ss.substring(0,ss.length()-1);}ss+="]";System.out.println(ss);
解决方案七:
用StringBuffer更好些。
解决方案八:
引用5楼chujingbin的回复:
JavacodeStringstr="[tesdfg={Temp=sdaf,Params=adsfaa,No=2},{No=3}[,list="+"{Temp=sadsfdaf,Params=aasdfa,No=4},"+"{Temp=sdaf,Params=aaa,No=5}";S……
.