我需要用一個空括號替換雙括號內的子字符串。我使用:
source = source.replaceAll("\(.+?\)", "");
如何替換Java中的雙括號內的子字符串?
刪除單個括號內的子字符串。相反,當我用雙括號內的子字符串嘗試時,整個子字符串被刪除,但最後的')'仍然存在。
這裏有什麼問題?
在此先感謝。
我需要用一個空括號替換雙括號內的子字符串。我使用:
source = source.replaceAll("\(.+?\)", "");
如何替換Java中的雙括號內的子字符串?
刪除單個括號內的子字符串。相反,當我用雙括號內的子字符串嘗試時,整個子字符串被刪除,但最後的')'仍然存在。
這裏有什麼問題?
在此先感謝。
The +?意味着你的匹配將會採用至少個字符,這意味着它會抓住內部加括號的語句。
嘗試:
source = source.replaceAll("\(?\(.+?\)\)?", "");
我剛剛結束的正則表達式與\(?
和\)?
。
它的工作原理。有時它比看起來更簡單。 謝謝戴夫 –
太棒了!如果你絕對好,你可以把這個標記爲答案。 :) – Dave
source.replaceAll("\(\([^\(]*\)\)", "");
?
(未測試)
請張貼示例。如果你說「當我的代碼的輸入是[文本塊]時,我希望輸出是[另一個文本塊],那麼更容易遵循具體內容。」 – jefflunt
你的意思是把'blah((yakkety))something'變成'blah(())something'或者你的意思是把'blah(yackittee)other-thing'改成'blah other-thing' ???或在之間? –
我的意思是改變等於((yakkety))等於。 –