Come rimuovere un carattere da una stringa in Java

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 oggetto String che sostituisce tutte le occorrenze di oldChar nella stringa data con newChar. Puoi anche utilizzare il metodo replace(), nel formato replace(CharSequence target, CharSequence replacement), per restituire un nuovo oggetto String che sostituisce una sottostringa nella stringa data.
  • replaceFirst(String regex, String replacement): Restituisce un nuovo oggetto String che sostituisce la prima sottostringa che corrisponde all’espressione regolare nella stringa data con la sostituzione.
  • replaceAll(String regex, String replacement): Restituisce un nuovo oggetto String che sostituisce ogni sottostringa che corrisponde all’espressione regolare nella stringa data con la sostituzione.
  • substring(int start, int end): Restituisce un nuovo oggetto String 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", "");
Output
bc 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(" ", "");
Output
abcABC123abc

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", "");
Output
c 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])", "");
Output
ABC 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);
Output
abc 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:

JavaStringRemove.java

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:

  1. javac JavaStringRemove.java
  2. java JavaStringRemove

Otterrai il seguente output:

Output
String 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