Reemplazar caracteres de una posición en un String Java

Logo Java

En varias entradas hemos podido analizar el manejo de datos tipo String en Java, sin embargo son muchas las funcionalidades que surgen con el manejo de este tipo de datos; uno de ellos es reemplazar caracteres de una posición en un String. Puede parecer una labor algo remota pero de seguro necesitarás realizarla en algún momento; veamos entonces como llevar a cabo esta tarea.

Reemplazar caracteres de una posición en un String Java

A continuación veamos algunos escenarios sobre los cuales necesitaríamos reemplazar caracteres de una posición en un String, para ello trabajaremos con la siguiente variable:

String cadena = "Prueba";

1. Sabemos la posición que deseamos reemplazar

Si es de nuestro conocimiento la posición que deseamos reemplazar, esta labor es muy sencilla. Solo debemos referenciar la posición haciendo uso de StringBuilder.

Reemplazar caracteres de una posición en un String

Si miramos un poco la documentación de esta clase:

Las principales operaciones en un StringBuilder son los métodos de inserción, que se sobrecargan para aceptar datos de cualquier tipo. Cada uno convierte efectivamente un dato dado en una cadena y luego agrega o inserta los caracteres de esa cadena en el generador de cadenas. El método de agregar siempre agrega estos caracteres al final del constructor; el método de inserción agrega los caracteres en un punto específico.

Al ejecutar el código anterior recibimos como salida:

run:
PrUEba

Por lo que hemos definido que las posiciones 2 y 3 sean reemplazadas por los caracteres U y E respectivamente.

2. No sabemos la posición que deseamos reemplazar

Cuando no sabemos qué posición deseamos reemplazar debemos obtenerla de algún modo, ya sea solicitándola al usuario u obteniendo este valor según alguna función de nuestro Software, veamos un ejemplo solicitando la posición al usuario.

Reemplazar caracteres de una posición en un String

Con el código anterior hacemos uso también de StringBuilder, sin embargo los valores a reemplazar los solicitamos al usuario, tanto la posición como el nuevo valor; al ejecutar este código obtendríamos:

run:
¿Qué posición desea modificar?
Su String tiene: 6 Posiciones
2
Ingrese el nuevo valor
U
PrUeba

Nota: Debemos recordar que las posiciones empiezan a enumerarse desde el “0”; el mensaje anterior indica que el String tiene 6 posiciones, ellas son: 0,1,2,3,4,5.

De estas dos formas podemos reemplazar caracteres de una posición en un String Java; recuerda realizar las validaciones y comprobaciones necesarias cuando realizas operaciones sobre cadenas de caracteres; mucho más si estas son cambiantes u obtenidas de una base de datos.

Finalmente si lo que deseas es reemplazar algunos caracteres de forma inmediata, Java cuenta con la función replace() de la clase String.