"Dai un'occhiata ad altre cose che puoi fare con le sottostringhe:"

8) Come trovo una sottostringa?

I metodi indexOf e lastIndexOf consentono di cercare stringhe all'interno di stringhe. Esistono 4 versioni di questi metodi:

Il metodo indexOf cerca una stringa in una stringa specificata. Il metodo può cercare la stringa dall'inizio della stringa specificata o partendo da un indice (il secondo metodo). Se la stringa viene trovata, il metodo restituisce l'indice del suo primo carattere; se non viene trovato, restituisce -1.

Metodo(i) Esempi
int indexOf(String str)
String s = "Good news, everyone!";
int index = s.indexOf ("ne");
Risultato:

index == 5
int indexOf(String str, int from)
String s = "Good news, everyone!";
int index = s.indexOf ("ne", 7);
Risultato:

index == 16

"Il metodo lastIndexOf cerca la stringa specificata all'indietro dalla fine della nostra stringa! Questo metodo può cercare una stringa dalla fine della nostra stringa o partendo da un indice (il secondo metodo). Se la stringa viene trovata, allora il metodo restituisce l'indice del suo primo carattere; se non viene trovato, restituisce -1."

Metodo(i) Esempi
int lastIndexOf(String str)
String s = "Good news, everyone!";
int index = s.lastIndexOf("ne");
Risultato:

index == 17
int lastIndexOf(String str, int from)
String s = "Good news, everyone!";
int index = s.lastIndexOf("ne", 15);
Risultato:

index == 5

9) Come posso sostituire parte di una stringa con un'altra stringa?

"Ci sono tre metodi per questo."

Il metodo replace sostituisce tutte le occorrenze di un particolare carattere con un altro carattere.

Il  metodo replaceAll  sostituisce tutte le occorrenze di una sottostringa con un'altra stringa.

Il  metodo replaceFirst  sostituisce la prima occorrenza di una sottostringa passata con una stringa specificata.

Metodo(i) Esempi
String replace(char oldChar, char newChar)
String s = "Good news, everyone!";
String s2 = s.replace>('o', 'a');
Risultato:

s2 == "Gaad news, everyane!";
String replaceAll(String regex, String replacement)
String s = "Good news, everyone!";
String s2 = s.replaceAll ("ne", "_");
Risultato:

s2 == "Good _ws, everyo_!";
String replaceFirst(String regex, String replacement)
String s = "Good news, everyone!";
String s2 = s.replaceFirst ("ne", "_");
Risultato:

s2 == "Good _ws everyone!";

"Ma devi stare attento con questi. Negli ultimi due metodi ( replaceAll e replaceFirst ), la stringa che stiamo cercando viene passata come un'espressione regolare, non una semplice stringa. Ma ne parlerò più avanti."