Il seguente codice imposterà str a "testss"Perché replaceFirst e replaceAll danno risultati diversi?
String str = "test".replaceAll("(.*)$","$1s");
Dove come il seguente codice impostarlo a "test"
String str = "test".replaceFirst("(.*)$","$1s");
avrei aspettato entrambe le operazioni per produrre lo stesso risultato. Qualcuno può spiegare perché replaceAll aggiunge una s extra alla fine della stringa?
Prova a fare questo '" (. * $) "' E cosa ottieni? – epascarello
Sostituisci con '" [$ 1] "' invece - questo dovrebbe dare qualche suggerimento :) –
hmm ... (. * $) Non ha aiutato, ma [$ 1] mi ha dato "[test] s [] s". Quindi c'è una cattura vuota. Perché? – cgTag