Java中利用正则表达式截取指定字符串之间的内容

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/u013456370/article/details/82864586
今日推荐