1. Introducción
En este tutorial rápido, demostraremos cómo reemplazar un carácter en un índice específico en una cadena en Java.
Presentaremos cuatro implementaciones de métodos simples que toman el String original , un carácter y el índice donde necesitamos reemplazarlo.
2. Usando una matriz de caracteres
Comencemos con un enfoque simple, usando una matriz de char.
Aquí, la idea es convertir String en char [] y luego asignar el nuevo char en el índice dado. Finalmente, construimos la cadena deseada a partir de esa matriz.
public String replaceCharUsingCharArray(String str, char ch, int index) { char[] chars = str.toCharArray(); chars[index] = ch; return String.valueOf(chars); }
Este es un enfoque de diseño de bajo nivel y nos da mucha flexibilidad.
3. Usando el método de subcadena
Un enfoque de nivel superior es utilizar el método substring () de la clase String .
Creará una nueva Cadena concatenando la subcadena de la Cadena original antes del índice con el nuevo carácter y la subcadena de la Cadena original después del índice:
public String replaceChar(String str, char ch, int index) { return str.substring(0, index) + ch + str.substring(index+1); }
4. Usando StringBuilder
Podemos obtener el mismo efecto usando StringBuilder . Podemos reemplazar el carácter en un índice específico usando el método setCharAt ():
public String replaceChar(String str, char ch, int index) { StringBuilder myString = new StringBuilder(str); myString.setCharAt(index, ch); return myString.toString(); }
5. Conclusión
En este artículo, nos enfocamos en varias formas de reemplazar un carácter en un índice específico en una Cadena usando Java .
Las instancias de cadenas son inmutables, por lo que necesitamos crear una nueva cadena o usar StringBuilder para darnos algo de mutabilidad.
Como de costumbre, el código fuente completo para el tutorial anterior está disponible en GitHub.