Substituir Caractere em String no Índice em Java
-
Substituir um caractere numa string no índice em Java utilizando
substring()
-
Substituir um caractere numa String no Index em Java utilizando
StringBuilder()
-
Converte a String para um
Array
dechar
para Substituir um caractere numa String no Index 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtigo relacionado - Java Char
- Como Converter Int para Char em Java
- Char vs String em Java
- Inicializar Char em Java
- Representar Caráter Vazio em Java
- Car para maiúscula / minúscula em Java
- Adicionar Char a String em Java