Foros del Web » Programando para Internet » Javascript »

devolver una palabra con exec

Estas en el tema de devolver una palabra con exec en el foro de Javascript en Foros del Web. Hola, se me presenta el caso que necesito crear una regular expresion que me devuelva un string, filtrando los espacios en blanco y ciertos caracteres, ...
  #1 (permalink)  
Antiguo 12/08/2014, 21:01
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
devolver una palabra con exec

Hola, se me presenta el caso que necesito crear una regular expresion que me devuelva un string, filtrando los espacios en blanco y ciertos caracteres, pero lo unico que consigo machear es la ultima letra. Alguien me da una mano?

Código Javascript:
Ver original
  1. e = "      #estoEsUnId      ";
  2.  
  3. r = /[a-bA-B0-9]{1}[a-bA-B0-9]*/.exec(e);
  4. console.log(r);
me gustaría tener de resultado "estoEsUnId", pero solo estoy consiguiendo la letra "d"
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #2 (permalink)  
Antiguo 12/08/2014, 23:36
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: devolver una palabra con exec

La manera correcta sería esta:

Código Javascript:
Ver original
  1. var e = "      #estoEsUnId      ",
  2.     regexp = /[a-z]+/gi,
  3.     r = regexp.exec(e);
  4.  
  5. console.log(r[0]);

El rango de letras debe de ir de la A a la Z para que busque todas las letras existentes, además, los modificadores i y g, permiten realizar una búsqueda insensible a mayúsculas y global, respectivamente. Recuerda que exec devuelve un array que en su primera posición contiene el extracto buscado de la cadena.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 13/08/2014, 06:37
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: devolver una palabra con exec

Para el ejemplo que mostraste no es necesario utilizar expresiones regulares, bastaría con pasarle un trim() y eliminar el primer caracter (#), dejando solo el texto:

Código Javascript:
Ver original
  1. e = "      #estoEsUnId      ";
  2.  
  3. r = e.trim().substring(1);
  4.  
  5. console.log(r);

  #4 (permalink)  
Antiguo 13/08/2014, 06:54
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Respuesta: devolver una palabra con exec

Todo depende de lo que quieras hacer. A mi se me ocurre esto:

Código Javascript:
Ver original
  1. "   #id1   .classe p a div  #2id #id2 id3".match(/#[a-z][a-z0-9]*/gi).map(function(e) {
  2.     return e.substring(1)
  3. })

Edit.: h2swider, aquí tienes información sobre expresiones regulares en javascript:
https://developer.mozilla.org/es/doc...lobales/RegExp
A mi, el resultado del exec que pusiste me da null. Es normal, porque [a-bA-B] significa letras entre a y b o entre A y B y en tu string no hay ninguna letra que coincida con ello.

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils

Última edición por Pantaláimon; 13/08/2014 a las 10:41

Etiquetas: devolver, exec, palabra
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 10:44.