Foros del Web » Programando para Internet » ASP Clásico »

Problema con Expresion Regular

Estas en el tema de Problema con Expresion Regular en el foro de ASP Clásico en Foros del Web. Hola, que tal. Soy nuevo en el foro, y estoy con un problema que me tiene en "vela" y recurrí a este medio para ver ...
  #1 (permalink)  
Antiguo 25/11/2010, 22:58
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Problema con Expresion Regular

Hola, que tal. Soy nuevo en el foro, y estoy con un problema que me tiene en "vela" y recurrí a este medio para ver si me pueden ayudar.

Tengo un archivo .txt que tiene la siguiente forma que necesito importar en una BD por medio de un script de ASP:

1 Naranja 1,80 naranja.jpg
2 Ananá 2,50 anana.jpg
3 Banana 3,40 banana.jpg

Como ven no existe ningun delimintador en el TXT, con lo cual no puedo importarlo en la BD. Tampoco existe un patrón fijo, solo puedo decir que se reemplazen cada vez que se encuentren 3 o mas espacios por el punto y coma.

El principal problema que se me plantea es cuando por medio de una expresión regular intento reemplazar los espacios por el delimitador.

Lo hago de la siguiente manera (Codigo ASP)

Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = fs.OpenTextFile (server.mappath("info_2.txt"))

Do While objFile.AtEndOfStream <> True
strLine = objFile.ReadLine 'Recorro linea por linea

set expReg = New RegExp
expReg.Pattern = "[\s{3,}]"
strLineFormat = expReg.Replace(strLine, ";")
Loop


El probma que tengo es que me trae el siguiente resultado:
Antes:
1 Naranja 1,80 naranja.jpg

Despues:
1;Naranja 1,80 naranja.jpg

O sea solo me lo reemplaza una sola vez por linea (la primera que encuentra).

alguien se da una idea de que estoy haciendo mal????

Muchas Gracias
  #2 (permalink)  
Antiguo 28/11/2010, 13:13
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
Respuesta: Problema con Expresion Regular

yo nunca he usado expresiones regulares, pero pues yo lo intentaria resolver con un split a la coma:

texto=split(contenido,",")
y luego recorreria el array con un for each

en tu caso veo que usas ReadLine, no faltaria algo que diga que se pase a la siguient linea despues de haberlo leido? perdon si es una burrada, te repito que nunca he usado expresiones regulares, es mas, no se ni para que son..

Etiquetas: expresion, regular
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 05:58.