Foros del Web » Programando para Internet » Javascript »

Eliminar espacios entre comas(,) expresiones regulares

Estas en el tema de Eliminar espacios entre comas(,) expresiones regulares en el foro de Javascript en Foros del Web. Hola amigos! Una dudota, como puedo eliminar los espacios entre las comas,puntos o cualquier simbolo en una cadena de texto.. ejemplo: Los alumnos de la ...
  #1 (permalink)  
Antiguo 29/10/2012, 11:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 6 meses
Puntos: 9
Exclamación Eliminar espacios entre comas(,) expresiones regulares

Hola amigos!

Una dudota, como puedo eliminar los espacios entre las comas,puntos o cualquier simbolo en una cadena de texto.. ejemplo:

Los alumnos de la escuela: Pedro, Juan y Maria. No contaban con la tarea, porque? es el dilema.

a

Los alumnos de la escuela:Pedro,Juan y Maria.No contaban con la tarea,porque?es el dilema.

Alguien sabe como seria, esto
Saludos !!!
  #2 (permalink)  
Antiguo 29/10/2012, 14:57
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Eliminar espacios entre comas(,) expresiones regulares

sería usando el método replace, haciendo una agrupación en la que estuvieran todos los caracteres que seguido de espacio quieres eliminar ese espacio y reemplazarlo por el indice de la agrupación
Cita:
str.replace(/([\.,\?:])\s/g, '$1')
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 29/10/2012, 15:09
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 6 meses
Puntos: 9
Exclamación Respuesta: Eliminar espacios entre comas(,) expresiones regulares

Cita:
Iniciado por IsaBelM Ver Mensaje
sería usando el método replace, haciendo una agrupación en la que estuvieran todos los caracteres que seguido de espacio quieres eliminar ese espacio y reemplazarlo por el indice de la agrupación
Muchas gracias funciono perfectamente!!!!!

Solamente hice estos cambios para que eliminara espacios antes si hay muchso espacios y despues tambien

Código PHP:
replace(/s*([.,?:])s*/g'$1'); 
esto es para Isabel: http://www.ugr.es/~peruano/flor2.txt
  #4 (permalink)  
Antiguo 29/10/2012, 15:17
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Eliminar espacios entre comas(,) expresiones regulares

esa expresión está mal. por qué tocas si no sabes??
http://es.wikipedia.org/wiki/Expresi...ones_regulares
el único cambio que has realizado que está bien es el trim

edito: y ahora que me fijo. el trim tampoco está bien, por la misma razón que (. y ?)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Última edición por IsaBelM; 29/10/2012 a las 16:32
  #5 (permalink)  
Antiguo 29/10/2012, 16:07
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Eliminar espacios entre comas(,) expresiones regulares

buenas...
a modo de comentario y compartir. con word boundaries parece que se puede lograr el mismo resultado. en este caso, la expresión regular es mucho más corta sin el uso de grupos o referencias en el string con que se reemplaza. aunque bien puede que no sea el más adecuado para tales efectos ya que el siguiente ejemplo toma en consideración cualquier caracter de la clase \W. es decir, si se encuentra dos signos juntos, entonces se elimina el segundo.
Código:
str.replace(/\B\W/g, '');
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 29/10/2012, 17:02
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Eliminar espacios entre comas(,) expresiones regulares

exacto zerokilled esa era la expresión. para salvar el problema que haya dos caracteres de puntuación seguidos y se reemplace el último, podemos añadir otro limite
Cita:
str.replace(/\B\W\b/g, '');
esperemos que ahora no vuelva a destrozarla
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 29/10/2012, 19:55
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Eliminar espacios entre comas(,) expresiones regulares

Cita:
Iniciado por IsaBelM Ver Mensaje
exacto zerokilled esa era la expresión. para salvar el problema que haya dos caracteres de puntuación seguidos y se reemplace el último, podemos añadir otro limite


esperemos que ahora no vuelva a destrozarla
Pues ya probe los que me pasron y solo quita un espacio, de enfrente no los de atras, ejemplo: hola , como estas ? , queda como hola ,como estas? , si le pico dos veces a la funcion me elimina las comas :S

en cambio con este funciona perfecto :S :

Código PHP:
replace(/s*([.,?:])s*/g'$1'); 
Me hace el trabajo perfecto y no me elimina nada si le pico 2 veces al boton(funcion)

Última edición por marco64yes; 29/10/2012 a las 20:52
  #8 (permalink)  
Antiguo 30/10/2012, 07:27
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Eliminar espacios entre comas(,) expresiones regulares

este patrón funciona, pero no hace trim
Cita:
str.replace(/\B\W\b/g, '');
este otro, no funciona
Cita:
str.replace(/s*([.,?:])s*/g, '$1');
este otro, funciona y hace trim
Cita:
str.replace(/\s*([.,?:])\s*/g, '$1');
fíjate en la sutil diferencia. lee la documentación que te dejé y lo entendarás
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #9 (permalink)  
Antiguo 30/10/2012, 08:29
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Eliminar espacios entre comas(,) expresiones regulares

Cita:
Iniciado por IsaBelM Ver Mensaje
este patrón funciona, pero no hace trim


este otro, no funciona


este otro, funciona y hace trim


fíjate en la sutil diferencia. lee la documentación que te dejé y lo entendarás
A chihuahuas!!!, jajaj si tienes toda la razon el ultimo es el que funciona, no se porque puse el otro :S pero es el que estoy utilizando el utlimo saludos

Etiquetas: expresiones, regulares
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 18:04.