Substituir Caractere em String no Índice em Java

Rupam Yadav 12 outubro 2023
  1. Substituir um caractere numa string no índice em Java utilizando substring()
  2. Substituir um caractere numa String no Index em Java utilizando StringBuilder()
  3. Converte a String para um Array de char para Substituir um caractere numa String no Index em Java
Substituir Caractere em String no Índice em Java

Este artigo irá introduzir como podemos substituir um carácter numa string num índice específico em Java. Podemos utilizar várias formas para atingir o nosso objectivo, que são mencionadas nos exemplos que se seguem.

Substituir um caractere numa string no índice em Java utilizando substring()

No nosso primeiro exemplo, temos uma string - ab que tem o carácter A, que é uma letra maiúscula que não se ajusta à frase, e queremos substituí-la por uma letra minúscula a.

Para a substituir, utilizamos a função substring() da classe String que toma como argumento um intervalo ou o índice inicial da string. O nosso carácter alvo está localizado na posição do índice 8.

ab.substring(0, index) devolve a parte da string da posição 0 a 8. Concatenamos esta parte da string com o nosso novo carácter a, e juntamos a string restante utilizando ab.substring(index + 1).

public class ReplaceCharAtIndex {
  public static void main(String[] args) {
    String ab = "This is A String";
    int index = 8;

    String newString = ab.substring(0, index) + 'a' + ab.substring(index + 1);

    System.out.println(newString);
  }
}

Resultado:

This is a String

Substituir um caractere numa String no Index em Java utilizando StringBuilder()

Temos a mesma string que utilizamos no nosso exemplo anterior mas utilizaremos StringBuilder() para criar uma nova string que é mutável porque uma string normal em Java é imutável. Como a newString é agora modificável, podemos utilizar o seu método setChartAt() para definir um novo char para uma posição ou índice.

O método newString.setCharAt(8, 'a') coloca o carácter a na 8ª posição.

public class ReplaceCharAtIndex {
  public static void main(String[] args) {
    String ab = "This is A String";

    StringBuilder newString = new StringBuilder(ab);

    newString.setCharAt(8, 'a');

    System.out.println(newString);
  }
}

Resultado:

This is a String

Converte a String para um Array de char para Substituir um caractere numa String no Index em Java

O último método converte a string oldString para um array de char utilizando toCharArray(). Podemos substituir qualquer valor de um array especificando a sua posição.

Como podemos ver, existe uma gralha em oldString onde a palavra está mal escrita, e precisamos de substituir o caracter (m) pelo caracter (n). Podemos substituir o nosso carácter num índice utilizando charArray[index] = 'n'.

Finalmente, temos de converter o char[] para um string, utilizando String.valueOf(). A saída mostra que o carácter foi substituído.

public class ReplaceCharAtIndex {
  public static void main(String[] args) {
    String oldString = "This is an example strimg";
    int index = 23;

    char[] charArray = oldString.toCharArray();
    charArray[index] = 'n';

    String newString = String.valueOf(charArray);

    System.out.println(newString);
  }
}

Resultado:

This is an example string
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

Artigo relacionado - Java Char

Artigo relacionado - Java String