Reemplazar múltiples caracteres en cadena en Java

Rupam Yadav 12 octubre 2023
  1. Reemplazar múltiples caracteres en una cadena usando replaceAll() en Java
  2. Reemplazar varios caracteres en una cadena usando String.replace() en Java
Reemplazar múltiples caracteres en cadena en Java

String.replaceAll() y String.replace() son dos métodos útiles para reemplazar los caracteres de una cadena en Java. En este artículo, veremos cómo podemos usar estos dos métodos para reemplazar múltiples caracteres en una cadena.

El replaceAll() puede hacer esto solo usando la expresión regular, pero si no queremos usar expresiones regulares, podemos usar el método replace().

Reemplazar múltiples caracteres en una cadena usando replaceAll() en Java

replaceAll() se usa cuando queremos reemplazar todas las ocurrencias de los caracteres especificados. Podemos usar expresiones regulares para especificar el carácter que queremos que sea reemplazado. Este método toma dos argumentos, el primero es el patrón de la expresión regular, y el segundo es el carácter que queremos colocar.

En el siguiente ejemplo, reemplazaremos varios caracteres utilizando algunas expresiones regulares comunes.

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);
  }
}

Producción :

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

En el ejemplo anterior, usamos múltiples expresiones regulares que son de uso común. Veamos lo que significan y cómo funcionan.

stringUnderscoresForward tiene cada carácter separado por guiones bajos y barras oblicuas hacia adelante; reemplazaremos todos ellos con un guión (-). [char1 char2] es el regex usado para reemplazar dos caracteres por uno solo. Podemos usar [_/] para reemplazar todos los guiones bajos y las barras con un guión.

stringWithDigits es una cadena con alfabetos aleatorios y algunos dígitos entre ellos. Queremos reemplazar cada dígito con un carácter vacío. Para ello, podemos usar la secuencia de escape \d que escapa de los dígitos. [\\d] se usará como regex, y el carácter de reemplazo será un carácter vacío.

stringWithWhiteSpaces contiene espacios en blanco entre cada carácter. Para eliminar los espacios, podemos reemplazarlos con caracteres vacíos. Los corchetes vacíos con espacio en blanco [ ] indican un espacio en blanco en la cadena.

También podemos usar [\\s] para obtener los espacios en blanco en una cadena.

stringWithLowerCase tiene los caracteres en minúsculas y mayúsculas. Queremos reemplazar cada carácter en minúscula por un carácter vacío. Usaremos [\\p{Lower}] que es un regex para obtener todos los caracteres en minúsculas.

Reemplazar varios caracteres en una cadena usando String.replace() en 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);
  }
}

Producción :

javajavajavajavajava
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

Artículo relacionado - Java String