客户端从webService获取到的数据一般是XML或html格式字符串,如果说你用的SOAP协议的话,解析数据一般会用到XML解析器,不过用起来有点麻烦,我们可以自己利用正则表达式匹配来提取数据。直接上源码,看注释即懂。
public class RegexTest {
public static void main(String[] args) {
System.out.printf(getHtml("html","sfsd<html>abAB_ 123<\\html>dsfs"));
}
/**
* 解析XML或html格式字符串
* @param arg0 格式匹配字符串,即<>内部的字符串
* @param arg1 待解析的字符串
* @return 解析得到的字符串,如果匹配失败则返回null
*/
private static String getHtml(String arg0, String arg1){
Pattern pattern = Pattern.compile("<"+arg0+">.+?<\\\\"+arg0+">");
Matcher matcher = pattern.matcher(arg1);
if(matcher.find()){
String html = matcher.group();
int len = arg0.length()+2;
return matcher.group().substring(len, html.length() - (len+1));
}else {
return null;
}
}
}