Foros del Web » Programando para Internet » Javascript »

Colocar variable en un Regex Javascript

Estas en el tema de Colocar variable en un Regex Javascript en el foro de Javascript en Foros del Web. Hola cuando intento colocar la variable i del for me lo toma como Regexp, hay alguna manera de escapar un variable del Reg? @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 20/04/2009, 12:22
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Colocar variable en un Regex Javascript

Hola cuando intento colocar la variable i del for me lo toma como Regexp, hay alguna manera de escapar un variable del Reg?
Código javascript:
Ver original
  1. function my(z,text){
  2. for(var i=1; i<text.length; i++){
  3. z = z.replace(/'{'+i+'}'/,vars[i]);
  4. }
  5. return  z;
  6. }

La función reemplaza un dígito por un texto {1} => "Texto", {2} => "Texto2"
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #2 (permalink)  
Antiguo 20/04/2009, 12:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Colocar variable en un Regex Javascript

Se puede crear el objeto usando new RegExp, pero no entiendo lo que tratas de hacer, si sólo se trata de reemplazar el texto, ¿para qué una expresión regular cuando puedes usar sólo texto?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 20/04/2009, 13:50
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Respuesta: Colocar variable en un Regex Javascript

Te refieres a quitarle los slashes?. La función me reemplaza claves por un texto que le asigno Ejem:

Código javascript:
Ver original
  1. my("Tengo {1} manzanas y 6 {2}",[5,'Naranjas']);
  2.  
  3. // Devuelve Tengo 5 manzanas y 6 naranjas

Eso es lo q trato hacer pero ese no es el problema, si no el valor de i (var=i) en el Regex.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #4 (permalink)  
Antiguo 20/04/2009, 14:23
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: Colocar variable en un Regex Javascript

De donde sacas vars[i] ?

Código javascript:
Ver original
  1. function my(z,text){
  2. for(var i=1; i<text.length; i++){
  3. var iexp = new RegExp('{'+i+'}');
  4. z = z.replace( iexp, text[i-1]);
  5. }
  6. return  z;
  7. }
  #5 (permalink)  
Antiguo 20/04/2009, 17:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Colocar variable en un Regex Javascript

En ese caso, no uses una expresión regular, usa texto como tal:
Código javascript:
Ver original
  1. z = z.replace('{' + i + '}', vars[i]);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 19:29.