Un frammento di lezione con un mentore come parte del corso Codegym University. Iscriviti al corso completo.
1 Confronto di stringhe
Una delle operazioni più comuni con le stringhe è il confronto. La classe String ha oltre dieci diversi metodi utilizzati per confrontare una stringa con un'altra stringa. Di seguito daremo un'occhiata a 8 dei principali.
| Metodi | Descrizione |
|---|---|
|
Le stringhe sono considerate uguali se tutti i loro caratteri corrispondono. |
|
Confronta le stringhe, ignorando il caso delle lettere (ignora se sono maiuscole o minuscole) |
|
Confronta le stringhe, restituisce il numero di caratteri corrispondenti dall'inizio della stringa. |
|
Restituisce il numero di caratteri corrispondenti dall'inizio di una stringa, ignora maiuscole e minuscole |
|
Confronta parti di stringhe |
|
Controlla se la stringa corrente inizia con la stringaprefix |
|
Controlla se la stringa corrente termina con la stringasuffix |
Supponiamo che tu voglia scrivere un programma che chieda all'utente il percorso di un file e quindi controlli il tipo di file in base alla sua estensione. Il codice di un tale programma potrebbe essere simile a questo:
| Codice | Appunti |
|---|---|
|
Creare un Scanneroggetto Leggere una riga dalla console Verificare se la stringa pathtermina con la stringa data |
2 Ricerca di sottostringhe
Dopo aver confrontato le stringhe, la seconda operazione più popolare è trovare una stringa all'interno di un'altra. La classe String ha anche alcuni metodi per questo:
| Metodi | Descrizione |
|---|---|
|
Cerca la stringa strnella stringa corrente. Restituisce l'indice del primo carattere della prima occorrenza. |
|
Cerca la stringa strnella stringa corrente, saltando i primi indexcaratteri. Restituisce l'indice dell'occorrenza. |
|
Cerca la stringa strnella stringa corrente, a partire dalla fine. Restituisce l'indice della prima occorrenza. |
|
Cerca la stringa strnella stringa corrente dalla fine, saltando i primi indexcaratteri. |
|
Controlla se la stringa corrente corrisponde a un modello specificato da un'espressione regolare. |
I metodi indexOf(String)e indexOf(String, index)sono spesso usati in combinazione. Il primo metodo consente di trovare la prima occorrenza della sottostringa passata nella stringa corrente. E il secondo metodo ti consente di trovare la seconda, terza, ecc. occorrenze saltando i primi caratteri di indice.
Supponiamo di avere un URL come " https://domain.com/about/reviews " e di voler sostituire il nome del dominio con " codegym.cc ". Gli URL possono avere tutti i tipi di nomi di dominio diversi, ma sappiamo quanto segue:
- Il nome di dominio è preceduto da due barre — "//"
- Il nome di dominio è seguito da una singola barra — "
/"
Ecco come sarebbe il codice per un programma del genere:
| Codice | Appunti |
|---|---|
|
Crea un oggetto Scanner Leggi una riga dalla console Ottieni l'indice della prima occorrenza della stringa " //" Otteniamo l'indice della prima occorrenza della stringa /, ma ci occupiamo solo di un'occorrenza dei caratteri //. Otteniamo la stringa dall'inizio alla fine dei caratteri //Otteniamo la stringa /dalla fine. Concateniamo le stringhe e il nuovo dominio. |
I metodi lastIndexOf(String)e lastIndexOf(String, index)funzionano allo stesso modo, solo la ricerca viene eseguita dalla fine della stringa all'inizio.
3 Creazione di sottostringhe
Un frammento di lezione con un mentore come parte del corso Codegym University. Iscriviti al corso completo.
Oltre a confrontare stringhe e trovare sottostringhe, c'è un'altra azione molto popolare: ottenere una sottostringa da una stringa. Come accade, l'esempio precedente ti ha mostrato una substring()chiamata al metodo che ha restituito parte di una stringa.
Ecco un elenco di 8 metodi che restituiscono sottostringhe dalla stringa corrente:
| Metodi | Descrizione |
|---|---|
|
Restituisce la sottostringa specificata dall'intervallo di indici beginIndex..endIndex. |
|
Ripete la stringa corrente n volte |
|
Restituisce una nuova stringa: sostituisce il carattere oldCharcon il caratterenewChar |
|
Sostituisce la prima sottostringa, specificata da un'espressione regolare, nella stringa corrente. |
|
Sostituisce tutte le sottostringhe nella stringa corrente che corrispondono all'espressione regolare. |
|
Converte la stringa in lettere minuscole |
|
Converte la stringa in maiuscolo |
|
Rimuove tutti gli spazi all'inizio e alla fine di una stringa |
Ecco un riepilogo dei metodi disponibili:
substring(int beginIndex, int endIndex)metodo
Il substringmetodo restituisce una nuova stringa costituita da caratteri nella stringa corrente, a partire dal carattere con indice beginIndexe terminando con endIndex. Come per tutti gli intervalli in Java, il carattere con indice endIndexnon è incluso nell'intervallo. Esempi:
| Codice | Risultato |
|---|---|
|
|
|
|
|
|
|
|
Se il endIndexparametro non è specificato (il che è possibile), la sottostringa viene presa dal carattere in beginIndex fino alla fine della stringa.
repeat(int n)metodo
Il metodo di ripetizione ripete semplicemente i ntempi della stringa corrente. Esempio:
| Codice | Risultato |
|---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)metodo
Il replace()metodo restituisce una nuova stringa in cui tutti i caratteri oldCharvengono sostituiti con il carattere newChar. Questo non cambia la lunghezza della stringa. Esempio:
| Codice | Risultato |
|---|---|
|
|
|
|
|
|
|
|
replaceFirst()e replaceAll()metodi
Il replaceAll()metodo sostituisce tutte le occorrenze di una sottostringa con un'altra. Il replaceFirst()metodo sostituisce la prima occorrenza della sottostringa passata con la sottostringa specificata. La stringa da sostituire è specificata da un'espressione regolare. Approfondiremo le espressioni regolari nella ricerca Java Multithreading .
Esempi:
| Codice | Risultato |
|---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()metodi
Abbiamo imparato a conoscere questi metodi quando abbiamo imparato a chiamare i metodi della Stringclasse.
trim()metodo
Il trim()metodo rimuove gli spazi iniziali e finali da una stringa. Non tocca gli spazi all'interno di una stringa (cioè non all'inizio o alla fine). Esempi:
| Codice | Risultato |
|---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION