Java - substituir o último caractere na string
Problema
Eu gostaria de mudar a string ABC para ABD -  - altere a Ășltima letra de 'C' para 'D'.
Na explicação com código, eu tenho:
String str = "ABC";
Eu esperava:
String str = "ABD";
Solução:
Exemplo 1
String text = "ABC";
String substring = text.substring(0, text.length() - 1); // AB
String replaced = substring + "D";
System.out.println(text); // ABC
System.out.println(replaced); // ABD
Passos:
- Para criar 'AB' da nossa string, usamos o método String substring com 2 parùmetros.
O primeiro parĂąmetro Ă© beginIndex e o segundo parĂąmetro Ă© endIndex. EndIndex Ă© o comprimento inteiro da nossa string menos 1 letra para remover a Ășltima letra. - Adicionamos a letra que queremos no final da string - no nosso caso, Ă© 'D'
- Como esperado, substituĂmos a Ășltima letra de C para D.
Exemplo 2
Vamos visualizar esse problema na string com dĂgitos. Queremos substituir a Ășltima letra da sequĂȘncia '123' pelo dĂgito '4' para ter a sequĂȘncia '124'.
String text = "123";
String substring = text.substring(0, text.length() - 1); // 12
String replaced = substring + "4";
System.out.println(text); // 123
System.out.println(replaced); // 124
Exemplo 3
No exemplo abaixo, veremos como criar o prĂłprio mĂ©todo utilitĂĄrio para nos ajudar a substituir a Ășltima letra da string. O exemplo abaixo tem o mĂ©todo utilitĂĄrio replaceLastLetter () que leva nossa string como primeiro parĂąmetro e nossa nova letra como segundo parĂąmetro. Como resultado do mĂ©todo utilitĂĄrio, obtemos string com a Ășltima letra substituĂda. O exemplo abaixo pega a string 'ABC' e substitui a Ășltima letra 'C' em 'D' e o resultado Ă© 'ABD'.
public class Example {
public static String replaceLastLetter(String text, String newLetter) {
String substring = text.substring(0, text.length() - 1); // ABC -> AB
return substring + newLetter; // ABD
}
public static void main(String[] args) {
String text = "ABC";
String newLetter = "D";
String replaced = replaceLastLetter(text, newLetter);
System.out.println(text); // ABC
System.out.println(replaced); // ABD
}
}
Exemplo 4
Este exemplo Ă© semelhante ao exemplo 3, mas com a diferença de usar o caractere como segundo parĂąmetro, nĂŁo o tipo String. Neste exemplo, usamos o fato de que, em java, podemos conciliar seqĂŒĂȘncias de caracteres com caracteres com o operador '+'.
O restante da lĂłgica funciona da mesma maneira
public class Example {
public static String replaceLastLetter(String text, char newLetter) {
String substring = text.substring(0, text.length() - 1); // ABC -> AB
return substring + newLetter; // ABD
}
public static void main(String[] args) {
String text = "ABC";
char newLetter = 'D';
String replaced = replaceLastLetter(text, newLetter);
System.out.println(text); // ABC
System.out.println(replaced); // ABD
}
}