先使用replace把var去掉str.replace("var ","");然后使用split分割";",在遍历分割后字符串数组,每一个元素都用split分割"=",将分割后的数组存入map,然后需要哪个值就用map get一下就可以。
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
}
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));
}
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
System.out.println(b[1]);
}
一种是通过分割字符串,split,通过;分号和等号去分割,另一种是正则表达式,这个正则写起来有点麻烦,你可以去查查