Originariamente inviato da akus
se voglio sostituire una parola all'interno di una stringa (solo la prima occorrenza della parola) come devo fare ?
perchè col metodo IndexOf ottengo l'indice iniziale della prima occorrenza ma dopo non so come sostituire a partire da quell'indice....
String ha:
- replace()
- replaceAll()/replaceFirst() (che usano le "espressioni regolari")
Se invece vuoi cambiare una parte avendo un indice (qualunque) di partenza, puoi:
- usare i substring per prendere le parti da tenere e ri-comporre un'altra stringa
- usare StringBuffer/StringBuilder (che sono sequenze di caratteri "mutabili") e usare i suoi metodi (es. replace(), insert() ecc...)
Es.
codice:
String s = "hello mondo";
StringBuffer sb = new StringBuffer(s);
sb.replace(0, 5, "ciao");
String s2 = sb.toString();
System.out.println(s2); // ciao mondo