Foros del Web » Programación para mayores de 30 ;) » Java »

eliminar signos de puntuacion string

Estas en el tema de eliminar signos de puntuacion string en el foro de Java en Foros del Web. Hola alguien me puede decir como puedo eliminar signos de puntuacion como: ";?¡, etc. con una sola pasada. Se hacerlo con el metodo RemplaceAll(objeto viejo, ...
  #1 (permalink)  
Antiguo 27/09/2012, 09:19
 
Fecha de Ingreso: abril-2012
Mensajes: 28
Antigüedad: 12 años, 7 meses
Puntos: 0
eliminar signos de puntuacion string

Hola alguien me puede decir como puedo eliminar signos de puntuacion como:

";?¡, etc. con una sola pasada.

Se hacerlo con el metodo RemplaceAll(objeto viejo, objeto nuevo), pero solo me deja entrar un objeto de cada vez, y de esta manera tendria que pasar el metodo una vez por cada signo diferente que quiero quitar.

alguna sugerencia?
  #2 (permalink)  
Antiguo 27/09/2012, 10:09
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 14 años
Puntos: 24
Respuesta: eliminar signos de puntuacion string

Se me ocurre esto:
Código Java:
Ver original
  1. String cadenaPrueba = "¡Hola! ¿Qué tal? Ésta es una oración; te sorprenderás: tiene muchos, pero muchos... ¡signos de puntuación!";
  2.     String signosDePuntuacion = "¡!¿?.,;:";
  3.     System.out.println("Antes de procesar: " + cadenaPrueba);
  4.     int iterador = 0;
  5.     String caracterInspeccionado;
  6.     while (iterador < cadenaPrueba.length()) {
  7.         caracterInspeccionado = cadenaPrueba.substring(iterador, iterador+1);
  8.         if (signosDePuntuacion.contains(caracterInspeccionado)) {
  9.             cadenaPrueba = cadenaPrueba.replaceAll("\\"+caracterInspeccionado, "");
  10.         } else {
  11.             iterador++;
  12.         }
  13.     }
  14.     System.out.println("Después de procesar: " + cadenaPrueba);
Quizás no es la solución más eficiente, pero fue lo primero que se me ocurrió. Si lo mejoras, publícalo acá, pueda que le sirva a alguien más.
Salu2.
  #3 (permalink)  
Antiguo 27/09/2012, 10:23
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: eliminar signos de puntuacion string

http://docs.oracle.com/javase/1.4.2/...va.lang.String, java.lang.String)

Como puedes ver en la API, el elemento a sustituir se pasa como expresión regular, por lo que puedes definirlo casi como quieras.

Si únicamente quieres números y letras te valdría

replaceAll("\\p{Punct}","")

Pero dependerá de lo que realmente quieras conservar

Aquí más

http://docs.oracle.com/javase/1.4.2/...x/Pattern.html
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #4 (permalink)  
Antiguo 27/09/2012, 13:05
 
Fecha de Ingreso: abril-2012
Mensajes: 28
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: eliminar signos de puntuacion string

gracias Xerelo ,me funciono perfectamente.

Etiquetas: puntuacion, signos, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:19.