格式化字符串解析

时间:2012-07-21 00:07:09

标签: java string parsing

我正在调用一个返回以下字符串的Web服务:

anyType{x=4;y=5;z=acq}

如何获得xyz的值?

2 个答案:

答案 0 :(得分:4)

这不是最佳解决方案,但适用于调试信息。

然而,正如其他人建议的那样,最好将结果作为XML(或JSON),因为您可以使用健壮的库来解析数据。

final Matcher matcher =
        Pattern.compile("\\w+\\{x=(\\w+);y=(\\w+);z=(\\w+)\\}")
               .matcher("anyType{x=4;y=5;z=acq}");

while (matcher.find()) {
    final String x = matcher.group(1);
    final String y = matcher.group(2);
    final String z = matcher.group(3);
}

答案 1 :(得分:0)

关于Web服务,问题在于我正在使用的KSOAP2安卓库。 我用来得到结果的代码是:

HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
ht.call(SOAP_ACTION, envelope);
String response = envelope.getResponse().toString();

我必须使用以下行来获取响应为xml:

String responseXML = ht.responseDump;

所以现在解析xml响应没有问题。 谢谢大家的帮助。