62,623
社区成员
发帖
与我相关
我的任务
分享如果列名固定,可以用HashMap
String str = "EXAMAGE=10,EXAMAGEDAY=14,EXAMAGEMONTH=0," +
"OPEENGNAME1='张三',OPEENGNAME2='李四',OPEENGNAME3='王二麻子'," +
"OPEENGUSERID1='3',OPEENGUSERID2='112267',OPEENGUSERID3='141755',REPSTS='0'," +
"UPDTERM='127.0.0.1',UPDUSERID='3'";
Matcher m = Pattern.compile("([^,]+)=([^,$]+)[,$]").matcher(str);
HashMap hp = new HashMap();
while(m.find()){
hp.put(m.group(1), m.group(2));
}
//ip='127.0.0.1',guanliren='张三',fuwuyuan='李四',keren='王二麻子'
StringBuffer rtn = new StringBuffer();
rtn.append("ip="+hp.get("UPDTERM")+",");
rtn.append("guanliren="+hp.get("OPEENGNAME1")+",");
rtn.append("fuwuyuan="+hp.get("OPEENGNAME2")+",");
rtn.append("keren="+hp.get("OPEENGNAME3"));
System.out.println(rtn.toString());import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
public static void main(String[] args) {
String str="EXAMAGE=10,EXAMAGEDAY=14,EXAMAGEMONTH=0,OPEENGNAME1='张三',OPEENGNAME2='李四 ',OPEENGNAME3='王二麻子',OPEENGUSERID1='3',OPEENGUSERID2='112267', OPEENGUSERID3='141755',REPSTS='0',UPDTERM='127.0.0.1',UPDUSERID='3'";
String result="";
Matcher m = Pattern.compile(".*OPEENGNAME1=(.+),OPEENGNAME2=(.+),OPEENGNAME3=(.+),OPEENGUSERID1.*UPDTERM=(.+),UPDUSERID.*").matcher(str);
if(m.matches())
{
result="ip="+m.group(4)+",guanliren="+m.group(1)+",fuwuyuan="+m.group(2)+",keren="+m.group(3);
}
System.out.println(result);
}
}