Java按正則提取字符串


今天項目中遇到需要截取一段字符串中的某段特定的值。格式為:(  ( GLDWH = '14000' )  ) 。目的:取到14000

於是有兩種解決方式:

第一種,使用字符串截取的方式:substring

String str = "(  ( GLDWH = '14000' )  )";

int first = str.indexOf("'"); //單引號第一次出現的位置
int last = str.lastIndexOf("'"); //單引號最后一次出現的位置
String aa = str.substring(first+1, last);//截取后變成新的字符串
System.out.println(aa); //14000

===================================

第二種方式,使用正則表達式匹配:

其中:

Pattern: 一個Pattern是一個正則表達式經編譯后的表現模式。 

Matcher: 一個Matcher對象是一個狀態機器,它依據Pattern對象做為匹配模式對字符串展開匹配檢查。

 

String str = "(  ( GLDWH = '14000' )  )";

Pattern pattern = Pattern.compile("([\'\"])(.*?)\\1");
Matcher matcher = pattern.matcher(str );
if (matcher.find()) {
String collegeId = matcher.group(2); 

System.out.println("collegeld");//14000
}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM