[Java] 正規取代表示法

最近弄國科會計畫,所以都在碰 java 的東西,都在弄 sparqlrdf 的東西,昨天弄懂一些基本的 sparql,然而利用 sarql 語法取出來的數值不是我想要的,所以利用正規表示,把字串取代了。 我想取代的字串如下:

( ?url = “LAB221″^^xsd:string ) 我只想要中間的 LAB221 的部份,然後我上網找了方法,總共可以使用兩種方法 第一種

String result = "( ?url = \"LAB221\"^^xsd:string )";
// compile pattern
Pattern p = Pattern.compile("[^\"]+\"([^\"]+)\"[^\"]+");

// get matcher
Matcher m = p.matcher(result.replaceAll("[

  • ]","")); // test if match if (m.matches()) { System.out.println(m.group(1)); } else { System.out.println("error"); } /* 正規比對 */
    上面感謝 ptt qrtt1 給我的一點啟示

    另一方法: /* 正規比對 */ String inputStr = result.replaceAll("[


    See also