Java:
Eliminazione di caratteri che corrispondono a un pattern
Come fare:
public class RimozioneCaratteri {
public static void main(String[] args) {
String fraseOriginale = "Ciao, M0nd0! Benvenut1 in Java.";
String frasePulita = fraseOriginale.replaceAll("[0-9]", "");
System.out.println("Frase originale: " + fraseOriginale);
System.out.println("Frase dopo la rimozione dei numeri: " + frasePulita);
}
}
Output:
Frase originale: Ciao, M0nd0! Benvenut1 in Java.
Frase dopo la rimozione dei numeri: Ciao, Mondo! Benvenuti in Java.
Approfondimento
Storicamente, le espressioni regolari derivano dalla teoria degli automi e sono state introdotte nei programmi di computer negli anni ‘50. Java le implementa tramite la classe Pattern
e la classe Matcher
. Un’alternativa al metodo replaceAll()
è replaceFirst()
, per sostituire solo la prima occorrenza. In termini di implementazione, replaceAll()
compila l’espressione regolare in un pattern e crea un matcher per trovare le corrispondenze, che poi vengono sostituite nel testo originale. È importante notare che l’operazione di rimozione può essere costosa in termini di performance se applicata a stringhe molto grandi o a pattern complessi.