Introduzione
In questo articolo, imparerai alcuni modi diversi per rimuovere un carattere da un oggetto String
in Java. Anche se la classe String
non ha un metodo remove()
, puoi utilizzare variazioni del metodo replace()
e del metodo substring()
per rimuovere caratteri dalle stringhe.
Nota: Gli oggetti String
sono immutabili, il che significa che non possono essere modificati dopo essere stati creati. Tutti i metodi della classe String
descritti in questo articolo restituiscono un nuovo oggetto String
e non modificano l’oggetto originale. Il tipo di stringa che si utilizza dipende dai requisiti del programma. Scopri di più su altri tipi di classi di stringhe e su perché le stringhe sono immutabili in Java.
La classe String
ha i seguenti metodi che puoi utilizzare per sostituire o rimuovere caratteri:
replace(char oldChar, char newChar)
: Restituisce un nuovo oggettoString
che sostituisce tutte le occorrenze dioldChar
nella stringa data connewChar
. Puoi anche utilizzare il metodoreplace()
, nel formatoreplace(CharSequence target, CharSequence replacement)
, per restituire un nuovo oggettoString
che sostituisce una sottostringa nella stringa data.replaceFirst(String regex, String replacement)
: Restituisce un nuovo oggettoString
che sostituisce la prima sottostringa che corrisponde all’espressione regolare nella stringa data con la sostituzione.replaceAll(String regex, String replacement)
: Restituisce un nuovo oggettoString
che sostituisce ogni sottostringa che corrisponde all’espressione regolare nella stringa data con la sostituzione.substring(int start, int end)
: Restituisce un nuovo oggettoString
che contiene una sottosequenza di caratteri attualmente contenuti in questa sequenza. La sottostringa inizia al punto di partenza specificato e si estende al carattere all’indice fine meno 1.
Nota che il primo argomento per i metodi replaceAll()
e replaceFirst()
è un espressione regolare. È possibile utilizzare un’espressione regolare per rimuovere un modello da una stringa.
Nota: È necessario utilizzare virgolette doppie per indicare valori stringa letterali quando si utilizzano i metodi replace()
. Se si utilizzano virgolette singole, quindi la JRE assume che si stia indicando una costante di carattere e si otterrà un errore durante la compilazione del programma.
Rimuovere un carattere da una stringa in Java
Puoi rimuovere tutte le istanze di un carattere da una stringa in Java usando il metodo replace()
per sostituire il carattere con una stringa vuota. L’esempio seguente rimuove tutte le occorrenze della lettera minuscola “a
” dalla stringa data:
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
Eliminare gli spazi da una stringa in Java
Puoi rimuovere gli spazi da una stringa in Java usando il metodo replace()
per sostituire gli spazi con una stringa vuota. L’esempio seguente rimuove tutti gli spazi dalla stringa data:
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
Rimuovere una sottostringa da una stringa in Java
Puoi rimuovere solo la prima occorrenza di un carattere o di una sottostringa da una stringa in Java usando il metodo replaceFirst()
per sostituire il carattere o la sottostringa con una stringa vuota. L’esempio seguente rimuove la prima occorrenza di “ab
” dalla stringa data:
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
Rimuovere tutte le lettere minuscole da una stringa in Java
Puoi utilizzare un’espressione regolare per rimuovere i caratteri che corrispondono a un determinato modello da una stringa in Java utilizzando il metodo replace.All()
per sostituire i caratteri con una stringa vuota. Il seguente codice di esempio rimuove tutte le lettere minuscole dalla stringa fornita:
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
Rimuovere l’ultimo carattere da una stringa in Java
Non esiste un metodo specifico per sostituire o rimuovere l’ultimo carattere da una stringa, ma puoi utilizzare il metodo String substring() per troncare la stringa. Il seguente codice di esempio rimuove l’ultimo carattere dalla stringa fornita:
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
Provalo
Il seguente file di esempio definisce una classe che include tutti gli esempi di metodi forniti in questo articolo e stampa i risultati dopo aver invocato ciascun metodo sulla stringa data. Puoi utilizzare questo codice di esempio per provarlo tu stesso su stringhe diverse utilizzando diversi schemi di corrispondenza e valori di sostituzione.
Se hai Java installato, puoi creare un nuovo file chiamato JavaStringRemove.java
e aggiungere il seguente codice al file:
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// Rimuovi un carattere da una stringa in Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Rimuovi gli spazi da una stringa in Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Rimuovi una sottostringa da una stringa in Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Rimuovi tutte le lettere minuscole da una stringa in Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Rimuovi l'ultimo carattere da una stringa in Java
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
Compila ed esegui il programma:
- javac JavaStringRemove.java
- java JavaStringRemove
Otterrai il seguente output:
OutputString after removing all the 'a's = bc ABC 123 bc
String after removing all the spaces = abcABC123abc
String after removing the first 'ab' substring = c ABC 123 abc
String after removing all the lowercase letters = ABC 123
String after removing the last character = abc ABC 123 ab
Ogni metodo nella classe di esempio JavaStringRemove
opera sulla stringa data. L’output mostra che i caratteri specificati in ciascun metodo sono stati rimossi dalla stringa.
Conclusioni
In questo articolo hai imparato vari modi per rimuovere caratteri dalle stringhe in Java utilizzando metodi della classe String
, inclusi replace()
, replaceAll()
, replaceFirst()
e substring()
. Continua il tuo apprendimento con ulteriori tutorial su Java.
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string