Substituir Múltiplos Caracteres em String em Java
- 
          
            Substituir vários caracteres numa string utilizando replaceAll()em Java
- 
          
            Substituir múltiplos caracteres numa string utilizando String.replace()em Java
 
String.replaceAll() e String.replace() são dois métodos úteis para substituir caracteres de uma string em Java. Neste artigo, veremos como podemos utilizar estes dois métodos para substituir vários caracteres numa string.
O método replaceAll() pode fazer isto sozinho utilizando a expressão regular, mas se não quisermos utilizar expressões regulares, podemos utilizar o método replace().
Substituir vários caracteres numa string utilizando replaceAll() em Java
replaceAll() é utilizado quando queremos substituir todos os caracteres especificados ocorrências. Podemos utilizar expressões regulares para especificar o carácter que pretendemos substituir. Este método assenta em dois argumentos, o primeiro é o padrão de expressão regular, e o segundo é o carácter que pretendemos colocar.
No exemplo seguinte, iremos substituir vários caracteres utilizando algumas expressões regulares comuns.
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);
  }
}
Resultado:
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
No exemplo acima, utilizamos múltiplas expressões regulares que são comummente utilizadas. Vamos ver o que significam e como funcionam.
O stringUnderscoresForward tem todos os caracteres separados por sublinhados e barras de reforço; vamos substituir todos eles por um traço (-). [char1 char2] é o regex utilizado para substituir dois caracteres por um único caracter. Podemos utilizar [_/] para substituir todos os sublinhados e barras por um traço.
stringWithDigits é uma string com alfabetos aleatórios e alguns dígitos entre eles. Queremos substituir cada dígito por um caracter vazio. Para tal, podemos utilizar a sequência de fuga \d que escapa aos dígitos. Será utilizado como um regex, e o carácter substituto será um carácter vazio.
O stringWithWhiteSpaces contém espaços em branco entre cada caractere. Para remover os espaços, podemos substituí-los por caracteres vazios. Os parênteses vazios com espaço branco [ ] indicam um espaço branco na string.
Também podemos utilizar [\\s] para colocar os espaços em branco numa string.
O stringWithLowerCase tem tanto os caracteres minúsculos como os maiúsculos. Queremos substituir cada letra minúscula por uma letra vazia. Utilizaremos [\p{Lower}] que é um regex para obter todos os caracteres minúsculos.
Substituir múltiplos caracteres numa string utilizando String.replace() em 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);
  }
}
Resultado:
javajavajavajavajava
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