版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013456370/article/details/82864586
需求:想截取某个字符串中<content>*****</content>的值,可能有0个或多个****;
代码:
package com.accord.test;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class B {
public static void main(String[] args) {
String returnXml = "<resultdescription>单据 16613dd7d9a00000000000000000000vouchergl0 开始处理...单据 16613dd7d9a00000000000000000000vouchergl0 处理完毕!"
+ "</resultdescription>"
+ "<content>2018.09-记账凭证-5</content>"
+ "<billpk></billpk><bdocid>16613dd7d9a00000000000000000000vouchergl0</bdocid>"
+ "<filename>vouchergld861102.xml</filename><resultcode>1</resultcode>"
+ "<resultdescription>单据 16613dd7d9a00000000000000000000vouchergl0 开始处理...单据 16613dd7d9a00000000000000000000vouchergl0 处理完毕!"
+ "</resultdescription>"
+ "<content>2018.09-记账凭证-6</content></sendresult>";
String regex = "<content>(.*?)</content>";
List<String> list = new ArrayList<String>();
List<String> extvounoLists = new ArrayList<String>();
Pattern pattern = Pattern.compile(regex);
Matcher m = pattern.matcher(returnXml);
while (m.find()) {
int i = 1;
list.add(m.group(i));
i++;
}
for (String str : list) {
System.out.println(str);
String[] strs = str.split("-");
String strss = strs[strs.length-1];
extvounoLists.add(strs[strs.length-1]);
}
for (String string : extvounoLists) {
System.out.println(string);
}
}
}