2017-03-07 93 views
0

想要問你的幫助。 我想從括號中獲得價值。 句子例如將總是在相同的格式,如:正則表達式。如何從括號內獲得價值

String s = "BRACKET (center)"; 

"BRACKET()" - 總是相同的。 我需要在括號內取值。 我試圖做到這一點:

String newLine = s.replaceAll("^BRACKET\\s\\(\\)", ""); 
System.out.println(newLine); 

它不起作用。請幫忙嗎?

+0

那麼'String newLine = s.substring(「BRACKET (「.length(),s.length() - 1)'? – Izruo

回答

1

你應該這樣做:

String newLine = s.replaceAll("^BRACKET\\s\\((.*)\\)", "$1"); 

注意額外(.*),這將匹配任何字符串是在括號內。然後$1將引用之前匹配的內容(每對括號形成一個組,您稍後可以參考;因爲只有一對,你可以參考它爲$1

+0

由於某種原因,我得到一個錯誤:沒有組1?這是什麼意思?我應該如何替換」「? – Andrew

+0

您是否正在測試('s s =「BRACKET(center)」;')。我測試了這個,它工作。如果沒有找到組,就可能改變了字符串。根據改變,正則表達式贏得' t匹配並且組不會被發現 – 2017-03-07 19:07:03

+0

Oh對不起,我的錯誤。謝謝你的回答。我的不好。 – Andrew