正則+split 解決國航項目獲取字符串匹配問題
需求:
有如下字符串信息:
-------SAVEANDSUBMIT頁麵TAIDsHID的值為: 00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8; 5046860; WF-D5DA47DD-1685-4EA0-9DDB-A5572A76CCE3; 4178072; //目前提交值 00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8; 5046860; WF-70CA1C7E-F4CC-4280-94C9-21F79C456428; 4178081; 00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8; 5046860; WF-28883882-9EBC-4CB8-B166-AF50800E1B98; 4178060;
大致是這樣的:
00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8;5046860;WF-D5DA47DD-1685-4EA0-9DDB-A5572A76CCE3;4178072;00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8;5046860;WF-70CA1C7E-F4CC-4280-94C9-21F79C456428;4178081;00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8;5046860;WF-28883882-9EBC-4CB8-B166-AF50800E1B98;4178060;
我需要通過每段第三行的數獲取第四行的activityID
我是這麼解決的:
package com.airchina.client.test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TestString { public static void main(String[] args) { String s="00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8;5046860;WF-D5DA47DD-1685-4EA0-9DDB-A5572A76CCE3;4178072;00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8;5046860;WF-70CA1C7E-F4CC-4280-94C9-21F79C456428;4178081;00-NE8KF4P2-RC2Q-K4AM-AE78-PSUX1318YXP8;5046860;WF-28883882-9EBC-4CB8-B166-AF50800E1B98;4178060;"; String t="WF-70CA1C7E-F4CC-4280-94C9-21F79C456428;"; String a=""; Pattern pattern = Pattern.compile(t+"\\d+;",Pattern.CASE_INSENSITIVE); Matcher m = pattern.matcher(s); if(m.find()) { System.out.println(m.group(0)); a=m.group(0); } String[] sPlit=a.split(";"); a=sPlit[1]; System.out.println(a); } }
輸出:
WF-28883882-9EBC-4CB8-B166-AF50800E1B98;4178060;
4178060
最後更新:2017-04-02 16:47:52