Reemplazar un carácter en un índice específico en una cadena en Java

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.