Substituir um caractere em um índice específico em uma string em Java
1. Introdução
Neste tutorial rápido, demonstraremoshow to replace a character at a specific index in a String in Java.
Apresentaremos quatro implementações de métodos simples que tomam oString, original um caractere e o índice onde precisamos substituí-lo.
2. Usando uma matriz de caracteres
Vamos começar com uma abordagem simples, usando uma matriz dechar.
Aqui, a ideia é converterString emchar[]e atribuir o novochar no índice fornecido. Finalmente, construímos osString desejados a partir desse array.
public String replaceCharUsingCharArray(String str, char ch, int index) {
char[] chars = str.toCharArray();
chars[index] = ch;
return String.valueOf(chars);
}
Essa é uma abordagem de design de baixo nível e nos oferece muita flexibilidade.
3. Usando o métodosubstring
Uma abordagem de nível superior é usar o métodosubstring() da classeString.
Ele criará um novoString concatenando a substring doString original antes do índice com o novo caractere e a substring doString original após o índice:
public String replaceChar(String str, char ch, int index) {
return str.substring(0, index) + ch + str.substring(index+1);
}
4. UsandoStringBuilder
Podemos obter o mesmo efeito usandoStringBuilder. Podemos substituir o caractere em um índice específico usando o métodosetCharAt():
public String replaceChar(String str, char ch, int index) {
StringBuilder myString = new StringBuilder(str);
myString.setCharAt(index, ch);
return myString.toString();
}
5. Conclusão
Neste artigo, nos concentramos em várias maneiras de substituir um caractere em um índice específico em umString usando Java.
As instâncias deString são imutáveis, então precisamos criar uma nova string ou usarStringBuilder para nos dar alguma mutabilidade.
Como de costume, o código-fonte completo do tutorial acima está disponívelover on GitHub.