加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式截取指定字符串内容

发布时间:2020-12-14 04:29:38 所属栏目:百科 来源:网络整理
导读:获取某个字符串中某一部分的字符内容,通常大家会首先想到使用String.substring方法,但String.substring方法对于某些包含特殊字符和HTML标签的处理不是很完善。例如如下字符串,想要获取sign中的字符,用String.subString方法虽然也能拿到sign中的内容,但

获取某个字符串中某一部分的字符内容,通常大家会首先想到使用String.substring方法,但String.substring方法对于某些包含特殊字符和HTML标签的处理不是很完善。例如如下字符串,想要获取sign中的字符,用String.subString方法虽然也能拿到sign中的内容,但有缺陷....

String str="<form id='frmBankID' name='frmBankName' method='post' action='partner="2088121205591541"&seller_id="2088121205591541"&out_trade_no="FI104010001030900000007"n" +
"&subject="?????"&body="???-?? 1.6 MT"&total_fee="0.20"&notify_url="http://func91fcw.vfinance.cn/server/ALIPAY10401-VS.htm"&service="mobile.securitypay.pay"&payment_type="1"n" +
"&_input_charset="utf-8"&it_b_pay="30m"&show_url="m.alipay.com"n" +
"&sign="IaNZM3TOiUnJf%2B5%2FxBanH3PrNEONHUedwLwuICFWAE5lbEZZg%2Bp2zeo6D7O36PzhrRya%2BzyjumDNFEuaHyc79cXngkYeyo4%2FQA6ze0iKtQswVoGEl24%2BOkL%2BF%2FvOEmkapKaG%2FMGFn8cacu4XW39TD0KznUSJo1iF0kEC8dRWQVQ%3D"n" +
"&sign_type="RSA"'></form>";

String.substring截取:

int s=str.indexOf("sign=");
int t=str.indexOf("&sign_type");
String sign= str.substring(s+5,t-1);
System.out.println("sign==="+sign);


正则表达式截取:

Pattern p = Pattern.compile("sign="(.*?)"");//正则表达式
Matcher m = p.matcher(str);
while(m.find()) {
System.out.println(m.group(1));//m.group(1)不包括这两个字符

}

m.group()获取的是包含sign=在内的全部内容

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读