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 Scanner oggetto Leggere una riga dalla console Verificare se la stringa path termina 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 str nella stringa corrente. Restituisce l'indice del primo carattere della prima occorrenza. |
|
Cerca la stringa str nella stringa corrente, saltando i primi index caratteri. Restituisce l'indice dell'occorrenza. |
|
Cerca la stringa str nella stringa corrente, a partire dalla fine. Restituisce l'indice della prima occorrenza. |
|
Cerca la stringa str nella stringa corrente dalla fine, saltando i primi index caratteri. |
|
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 oldChar con 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 substring
metodo restituisce una nuova stringa costituita da caratteri nella stringa corrente, a partire dal carattere con indice beginIndex
e terminando con endIndex
. Come per tutti gli intervalli in Java, il carattere con indice endIndex
non è incluso nell'intervallo. Esempi:
Codice | Risultato |
---|---|
|
|
|
|
|
|
|
|
Se il endIndex
parametro 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 n
tempi della stringa corrente. Esempio:
Codice | Risultato |
---|---|
|
|
|
|
|
|
|
|
replace(chat oldChar, char newChar)
metodo
Il replace()
metodo restituisce una nuova stringa in cui tutti i caratteri oldChar
vengono 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 String
classe.
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