Sostituisci più caratteri in una stringa in Java

Rupam Yadav 12 ottobre 2023
  1. Sostituisci più caratteri in una stringa usando replaceAll() in Java
  2. Sostituisci più caratteri in una stringa usando String.replace() in Java
Sostituisci più caratteri in una stringa in Java

String.replaceAll() e String.replace() sono due metodi utili per sostituire i caratteri in una stringa in Java. In questo articolo vedremo come possiamo utilizzare questi due metodi per sostituire più caratteri in una stringa.

replaceAll() può farlo da solo usando l’espressione regolare, ma se non vogliamo usare espressioni regolari, possiamo usare il metodo replace().

Sostituisci più caratteri in una stringa usando replaceAll() in Java

replaceAll() è usato quando vogliamo sostituire tutte le occorrenze dei caratteri specificati. Possiamo usare espressioni regolari per specificare il carattere che vogliamo essere sostituito. Questo metodo accetta due argomenti, il primo è il modello di espressione regolare e il secondo è il carattere che vogliamo inserire.

Nell’esempio seguente, sostituiremo più caratteri utilizzando alcune espressioni regolari comuni.

public class ReplaceAllChars {
  public static void main(String[] args) {
    String stringUnderscoresForward = "j_u_s_t_a_s/t/r/i/n/g";
    String stringWithDigits = "abcd12345efgh";
    String stringWithWhiteSpaces = "s t r i n g";
    String stringWithLowerCase = "This is a Lower Case String";

    String finalString1 = stringUnderscoresForward.replaceAll("[_/]", "-");
    String finalString2 = stringWithDigits.replaceAll("[\\d]", "");
    String finalString3 = stringWithWhiteSpaces.replaceAll("[ ]", "");
    String finalString4 = stringWithWhiteSpaces.replaceAll("[\\s]", "-");
    String finalString5 = stringWithLowerCase.replaceAll("[\\p{Lower}]", "");

    System.out.println("Old String: " + stringUnderscoresForward + " New String: " + finalString1);
    System.out.println("Old String: " + stringWithDigits + " New String: " + finalString2);
    System.out.println("Old String: " + stringWithWhiteSpaces + " New String: " + finalString3);
    System.out.println("Old String: " + stringWithLowerCase + " New String: " + finalString4);
    System.out.println("Old String: " + stringWithLowerCase + " New String: " + finalString5);
  }
}

Produzione:

Old String: j_u_s_t_a_s/t/r/i/n/g --New String: j-u-s-t-a-s-t-r-i-n-g
Old String: abcd12345efgh --New String: abcdefgh
Old String: s t r i n g --New String: string
Old String: This is a Lower Case String --New String: s-t-r-i-n-g
Old String: This is a Lower Case String --New String: T   L C S

Nell’esempio precedente, utilizziamo più espressioni regolari comunemente utilizzate. Vediamo cosa significano e come funzionano.

stringUnderscoresForward ha ogni carattere separato da trattini bassi e barre; li sostituiremo tutti con un trattino (-). [char1 char2] è la regex usata per sostituire due caratteri con un solo carattere. Possiamo usare [_/] per sostituire tutti i trattini bassi e le barre con un trattino.

stringWithDigits è una stringa con alfabeti casuali e alcune cifre tra di loro. Vogliamo sostituire ogni cifra con un carattere vuoto. Per fare ciò, possiamo usare la sequenza di escape \d che sfugge alle cifre. \d verrà utilizzato come regex e il carattere di sostituzione sarà un carattere vuoto.

stringWithWhiteSpaces contiene spazi vuoti tra ogni carattere. Per rimuovere gli spazi, possiamo sostituirli con caratteri vuoti. Le parentesi vuote con uno spazio bianco [ ] indicano uno spazio bianco nella stringa.

Possiamo anche usare [\\s] per ottenere gli spazi bianchi in una stringa.

stringWithLowerCase ha sia i caratteri minuscoli che quelli maiuscoli. Vogliamo sostituire ogni carattere minuscolo con un carattere vuoto. Useremo [\\p{Lower}] che è un’espressione regolare per ottenere tutti i caratteri minuscoli.

Sostituisci più caratteri in una stringa usando String.replace() in Java

public class ReplaceAllChars {
  public static void main(String[] args) {
    String stringWithRandomChars = "javbjavcjadakavajavc";

    String finalString =
        stringWithRandomChars.replace("b", "a").replace("c", "a").replace("d", "v").replace(
            "k", "j");

    System.out.println(finalString);
  }
}

Produzione:

javajavajavajavajava
Autore: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Articolo correlato - Java String