Reemplazar Caracteres

    Al decir reemplazar caracteres, en realidad me refiero a cambiar un digito de una frase por otro, para decirlo de una forma mas sencilla lo explicare en un ejemplo.

    Tenemos la frase "programando en java" y vamos a reemplazar un digito de la frase, digamos que quiero cambiar la letra "a" por la letra "i", entonces la frase quedaria "progrimindo en jivi", como podemos ver cambiamos todas las "a" y las sustituimos por "i".

    El código para hacer que "Java" reemplace caracteres o digitos es muy sencillo y fácil de aplicar, el código es: "frase.replace(variable1,variable2)", en donde:

- frase: es la variable donde esta almacenada la frase.

- replace: significa reemplazar, es el método para remmplazar los digitos.

- variable1: el nuevo digito, en el ejemplo es la letra "i".

- variable2: es el digito a cambiar en la frase, en el ejemplo la "a".

   Esto lo vemos en muchos programas, un ejemplo seria cuando estamos en un editor de texto, y queremos reemplazar una frase por otra, buscamos la opción reemplazar y simplemente ingresamos la frase o palabra que vamos a buscar y la frase o palabra por la cual sera reemplazada.

    Haciendo esto paso a paso seria así:

- Creamos tres (3) variables del tipo "String".

    La primera es para almacenar la frase.

    La segunda es para almacenar el nuevo digito o caracter.

    La tercera es para almacenar el caracter o digito que sera cambiado en la frase original.

- Pedimos al usuario que ingrese la frase.

- Pedimos al usuario el nuevo caracter o digito que desea cambiar en la frase.

- Pedimos al usuario por cual caracter de la frase desea cambiar el nuevo digito.

- Almacenamos el valor en la variable que contiene la frase y empleamos el método de reemplazo con las variables que el usuario a ingresado.

- Mostramos por pantalla el resultado.

    Estos son lo pasos a seguir al momento de utilizar este método. En este ejemplo estamos cambiando un caracter por otro, pero el ".replace" puede utilizarce de otra manera, como por ejemplo para eliminar un valor en la frase.

    Por ejemplo, tenemos la frase "programando en java", y queremos eliminar la "v", entonces la frase quedaria "programando en jaa". Esto se logra colocando en blanco una variable, es decir que la variable donde se almacena el nuevo digito, ira en blanco.

    Si queremos aplicar esto a un programa, debemos hacerlo de una forma en la que el usuario solo ingrese el digito que desea eliminar de la frase y no colocar unas tres (3) variables, ya que esto podria confundir al usuario.

    Los pasos a seguir son los siguientes:

- Creamos dos (2) variables del tipo "String".

    La primera es para almacenar la frase.

    La segunda es para almacenar el caracter o digito que sera eliminado de la frase original.

- Pedimos al usuario que ingrese la frase.

- Pedimos al usuario el caracter que desea eliminar de la frase.

- Almacenamos el valor en la variable que contiene la frase, y empleamos el método de reemplazo con las variables que el usuario a ingresado.

    Al momento de hacer esto tenemos dos opciones, podemos crear una nueva variable que contenga un valor en blanco del tipo "String", o colocamos un valor en blanco sin necesidad de crear otra variable, recordando que un valor en blanco del tipo "String" se hace colocando dos comillas sin nada en su interior (" ").

- Mostramos por pantalla el resultado.

    De esta forma el usuario seleccionara unicamente que valor desea eliminar de la frase y no por cual desea reemplazarlo, igualmente podiamos haber colocado un valor en blanco en ejemplo anterior y hubiera funcionado, pero la idea es que el programa sea mas agradable y comodo a la vista del usuario.

    Aqui dejo un ejemplo explicando todo lo anterior, utilizando un menú hecho con diálogos, igual al del ejemplo de la entrada Mayúsculas y Minúsculas.

import java.io.*;
import javax.swing.JOptionPane;

public class Reemplazar
{
public static void main (String [] args) throws IOException

{//Inicio del metodo main

/*Este programa no tiene soporte para la opcion cancelra, es
solo un programa de ejemplo, por lo tanto no esta completo*/

JOptionPane.showMessageDialog(null, "NOTA:\n"+"\n"+
"Este es un ejemplo y solo lo uso para mostrar el cambio de mayúsculas\n"+
"a minúsculas, por lo tanto no esta soportada la opcion cancelar y\n"+
"cada vez que términe el método volvera a ver este mensaje\n"+"\n",
"Created By CarlitoX", JOptionPane.WARNING_MESSAGE);;

try
{
int opcion= Integer.parseInt(JOptionPane.showInputDialog("OPCIONES\n"+"\n"+
"1. BORRAR DIGITOS\n"+"2. REEMPLAZAR DIGITOS\n"+"3. SALIR\n"+
"\n"+"Seleccione su opción: "));

switch (opcion)
{
case 1:borrar();break;
case 2:reemplazar();break;
case 3:System.exit(0);break;
default:JOptionPane.showMessageDialog(null, "Opcion no valida",
"Created By CarlitoX", JOptionPane.INFORMATION_MESSAGE);main(null);
}
}

catch (Exception Exp)
{
System.out.println("========================================");
System.out.print("\n"+"Opcion no valida");
System.out.println();main(null);
}

}//Fin del metodo main


public static void borrar() throws IOException

{//Inicio del metodo borrar

String FRASE,DIGITO;
JOptionPane.showMessageDialog(null, "Borrar Caracteres",
"Created By CarlitoX", JOptionPane.INFORMATION_MESSAGE);
FRASE= JOptionPane.showInputDialog(null, "Ingrese una frase o valor: ",
"Entrada de datos", JOptionPane.PLAIN_MESSAGE);
DIGITO= JOptionPane.showInputDialog(null, "Ingrese el caracter a borrar: ",
"Caracter a omitir", JOptionPane.PLAIN_MESSAGE);
FRASE= FRASE.replace(DIGITO,"");
JOptionPane.showMessageDialog(null, "Caracter o caracteres a borrar: "+DIGITO+"\n"+
"La subcadena es: "+FRASE, "Created By CarlitoX",
JOptionPane.INFORMATION_MESSAGE);

main(null);

}//Fin del metodo borrar


public static void reemplazar() throws IOException

{//Inicio del metodo reemplazar

String FRASE,NUEVODIGITO,CAMBIODIGITO;
JOptionPane.showMessageDialog(null, "Reemplazar Caracteres",
"Created By CarlitoX", JOptionPane.INFORMATION_MESSAGE);
FRASE= JOptionPane.showInputDialog(null, "Ingrese la frase: ",
"Ingreso de Datos", JOptionPane.PLAIN_MESSAGE);
NUEVODIGITO= JOptionPane.showInputDialog(null, "Ingrese el nuevo caracter: ",
"Ingreso de Datos", JOptionPane.PLAIN_MESSAGE);
CAMBIODIGITO= JOptionPane.showInputDialog(null, "Ingrese el caracter a cambiar en la frase: ",
"Ingreso de Datos", JOptionPane.PLAIN_MESSAGE);
FRASE= FRASE.replace(CAMBIODIGITO,NUEVODIGITO);
JOptionPane.showMessageDialog(null, "La nueva frase es: "+FRASE,
"Created By CarlitoX", JOptionPane.INFORMATION_MESSAGE);

main(null);

}//Fin del metodo reemplazar
}

    Espero que esto sea de ayuda para muchos, lo hice de las dos formas para que se aprecie mejor la diferencia entre hacerlo de una forma y de otra, ya que siempre hay que buscar que el programa sea fácil de utilizar y posea una interfaz agradable para el usuario.



2 Comentarios

Escribir Comentario
Anónimo
AUTOR
13 de noviembre de 2008, 0:18 delete

..Muy bueno el blog.

Este articulo sobre el metodo replace me saco de varias dudas.

Nos vemos..!

Responder
avatar
13 de noviembre de 2008, 2:52 delete

Gracias... Cualquier otra duda puedes preguntarme, y si no tengo algo posteado sobre eso puedo postear como entrada nueva explicando paso a paso lo que necesites saber.

Responder
avatar

Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión