Java » Remplazar caracteres con Java
Estaba revisando las notas sobre la clase String y los ejemplos publicados por Linea de Código al respecto. Es en ese momento cuando me he dado cuenta que, entre otros muchos, no tenía publicado un ejemplo que explicase como se hace la sustitución de caracteres en una cadena de texto.
La verdad es que la sustitución en si no es que se diga muy complicada. Basta con saber cómo usar el método replace(char oldChar, char newChar). Este método busca todos los caracteres que coincidan con el parámetro oldChar y los sustituye por el carácter que tenga en newChar. Más sencillo no puede ser.
Mi gran dilema surge cuando pienso en cual puede ser el ejemplo a usar para mostrar esto. Seguro que hay alguna frase graciosa para ilustrar el ejemplo. Y es que hay que aprender con cosas que nos llamen la atención. Esto facilita mucho las cosas.
En ese momento me viene a la mente “Cuando Fernando Séptimo Usaba Paletó”. Creo que me han afectado las vacaciones si a la hora que es tengo en mente esta canción, pero vamos allá.
Cuando Fernando Séptimo usaba paletó, Cuando Fernando Séptimo usaba paletó, Cuando Fernando Séptimo usaba paletó, paletó, usaba paletó. Y ahora con la ‘A’... Caanda Farnanda Saptama asaba palata, Caanda Farnanda Saptama asaba palata, Caanda Farnanda Saptama asaba palata, palata, asaba palata. Y ahora con la ‘E’....
Vamos, ejemplo más claro sobre el reemplazo de vocales no podíamos haber encontrado o ¿no?
En este ejemplo podemos ver varias cosas... La primera es que para realizar saltos de línea tenemos que utilizar la secuencia de escape \r. La cadena de texto nos quedaría de la siguiente forma:
String sFernando = "Cuando Fernando Séptimo usaba paleto,\r";
La segunda es que el resultado del método replace(char oldChar, char newChar) nos devolverá una clase String y que podremos aplicar sobre ella reiteradamente en una misma línea el mismo método tantas veces queramos.
Y es que de la estrofa inicial hay que pasar todas las vocales a la vocal ‘a’. A si que tendremos el siguiente código:
sFernando = sFernando.replace('e','a').replace('i','a')
.replace('o','a').replace('u','a');Espero que el artículo os haya parecido, al menos, curioso...Por cierto, de pequeño siempre me preguntaba ¿qué diablos (realmente decía XxXx) será el paletó? Porque había desviaciones de la canción que decían algo así como “Cuando Fernando Séptimo usaba pantalón”.
Digo yo que paletó y pantalón.... algo tendrán que ver.... Pues bueno, esto dice la RAE.
paletó. (Del fr. paletot). 1. m. Gabán de paño grueso, largo y entallado, pero sin faldas como el levitón.
Vaya, tendré que tirar de la RAE otra vez....
gabán. (Quizá del ár. clás. qaba'). 1. m. abrigo (? prenda de vestir).
Visualizar el ejemplo | Descargar el código
Artículos relacionados:






Diciembre 5, 2007 #
estaria bien que explicases como reemplazar un string por otro dentro de otro string.
Porque esto solo nos vale para reemplazar caracteres.
Mayo 12, 2008 #
eso no sirve amigo o no se si para cadenas dentro de un Vector no funcione yo hago..
Vector a= new Vector ();
a.add(“mario”);
a.add(“carlos”);
String b = ” dario”;
a.elementAt(1)= a.elementAt(1).replace(‘c’,'d’).replace(‘r’,'t’).replace(‘l’,'w’);
aunque no hay necesidad de hacer 3 remplazos para que funcione con una debe de hacerse el punto es que al elemento 1 del vector que seria carlos no lo puedo modificar..como hago esto es para ordenar un vector utlizando laburbuja bidireccional y debo asignar valores a las cadenas pero estoy pegado en eso hace rato..como hago?
Mayo 12, 2008 #
osea yo quiero por ejemplo
a.elementAt(1)=a.elementAt(0);
seria lo mismo a.elementAt(1).replace(” fksdjf”,”jkljdsk”)
pero no se modifica y no se lo puedo asignar por lo que ya tu mensionaste es un objeto y no se modifica ya que con el = hago referncia al lugar en memoria donde se guarda la cadena se lo debo asignar a un float o halgo asi..entonce scomo modifico..gracias
Julio 15, 2008 #
Buenas, yo quisiera saber como reemplazar enuna lista de String, tengo una L1, y en L2 lo que quiero reeemplazar y en L3 como quedaria… gracias, pero sin usar metodos del String().
Julio 30, 2008 #
esto esta bien, pero que ocurre cuando lo que quieres sustituir son los saltos de linea?? con que carecter haces el replace????
Septiembre 8, 2008 #
y como se haria para camibar una vocal en todo un archivo? cual seria la sintaxis del replace()?
Marzo 17, 2009 #
jeje, al fin algo que trae una sintaxis correcta, lo estaba buscando, gracias man
Marzo 17, 2009 #
x cierto para los saltos de linea necesitas remplazar de esta forma
String cadenadejemplo=”este\n es\n un ejemplo”;
System.out.println(cadenadejemplo);
cadenadejemplo=cadenadejemplo.replace(String.valueOf(‘\n’),”");
System.out.println(cadenadejemplo);
donde ‘\n’ representa el salto de linea como char, pero para poder eliminarlo es necesario convertirlo a String por medio de la funcion String.valueOf()
y despues reemplazarlo por el string que tu quieras, personalmente se me hace mas practico reemplazar asi, ya que no tienes problemas con los tipos de archivos
Marzo 17, 2009 #
jeje, tambien puedes reemplazar cadenas completas de String a String con replace
String cadenadejemplo=”0123456789″
cadenadejemplo=cadenadejemplo.replace(“1234″,”4321″);
System.out.println(cadenadejemplo);
te debe quedar algo asi:
0432156789
ya lo probe y si funciona jeje
Mayo 28, 2009 #
Si quiero cambiar un determinado caracter ejemplo
11450
por
12450
si lo aplico como dicen sera
22450