java 如何获取字符串中的某个值

如题 如何获取字符串里的相关值,result= 0;var cmd=2000;var volume=19;var playstate=2;var nightLight=0;var fileNO=16;请问这种字符串 java如何去获取等号后面的值一个个都要获取出来?

  先使用replace把var去掉str.replace("var ","");然后使用split分割";",在遍历分割后字符串数组,每一个元素都用split分割"=",将分割后的数组存入map,然后需要哪个值就用map get一下就可以。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-25
public static void main(String[] args) {
String a = "result= 0;var cmd=2000;var volume=19;var playstate=2;var nightLight=0;var fileNO=16;";
Pattern p = Pattern.compile("=\\s*\\d*\\s*;");
Matcher m = p.matcher(a);
StringBuffer sb = new StringBuffer();
while (m.find()) {
String group = m.group().trim();
sb.append(group.substring(1,group.length()-1).trim() + ",");
}
String res = sb.toString();
if(res.length() > 0)
res = res.substring(0, res.length()-1);
System.out.println(res);
// 打印 0,2000,19,2,0,16
}
第2个回答  2015-06-25
String str="result=0;var cmd=2000;var volume=19;var playstate=2;var nightLight=0;var fileNO=16";

String[] strs=str.split(";");

for (String string : strs) {
System.err.println(string.substring(string.lastIndexOf("=")+1));
}

追问

这个试了 打印出 result=0 而不是0

追答

你再仔细检查下。、


追问

我的是在android 打印的 确实是 value="result=0"

追答

那就不清楚了,建议你去软件开发下的移动开发下提问

追问

在问下:如何把 0 2000 一个个赋值出来呢

本回答被提问者采纳
第3个回答  2015-06-25
String str =" result= 0;var cmd=2000;var volume=19;var playstate=2;var nightLight=0;var fileNO=16";
String[] a =str.split("\\;");
for(int i=0;i<a.length;i++){
String[] b = a[i].split("\\=");
System.out.println(b[1]);
}本回答被网友采纳
第4个回答  2015-06-25
一种是通过分割字符串,split,通过;分号和等号去分割,另一种是正则表达式,这个正则写起来有点麻烦,你可以去查查追问

split如何区分 第几个等号呀

相似回答