2017-06-15 80 views
-2

正則表達式我有更換字符一個String在那裏與第三托架的子字符串可以包含這樣的在Java中使用

String str = "merSampleFactoryList[0].tfSendDate.fields[0].durationField.supported"; 

我要全部更換[0][1][2] ......與「[] 「。我知道我可以用正則表達式來做,但不知道該怎麼做。

+0

你嘗試過什麼?這是一個非常簡單的實現。 – Mena

回答

2

您可以使用String::replaceAll用正則表達式\[.*?\]

str = str.replaceAll("\\[.*?\\]", "[]") 

輸出

merSampleFactoryList[].tfSendDate.fields[].durationField.supported 

regex demo


注意

如果您只想替換包含整數的括號,則可以使用\[\d+\]代替。


或者像@Dukeling提意見,你可以使用\[[^]]*\]代替\[.*?\]

regex demo 2

+0

'[^]] *'可能比'。*?'好。 – Dukeling

+0

謝謝@Dukeling我可以知道這個差異對我來說是新的,但它的工作 –

+0

@Dukeling']'是一個元字符,所以我認爲它應該被轉義:''[^ \]] *' –