Con expresiones regulares o replace? Auxilio!!!!!!!!

23/07/2004 - 16:50 por jaimito | Informe spam
Hola compañeros...

Espero y pueda explicarme.

Tengo en una variable URLS de tipo String algo así:

URLS = "images/content/mapa.gif"
URLS += "http://localhost/Algo/images/conten....jpg"
URLS += "Algo/images/contents/raton.jpg"
URLS += "http://www.algo.com/images/contents....jpg"
URLS += "/images/contents/teclado.jpg"

Como se pueden dar cuenta tengo unas rutas a unas imágenes
en un proyecto ASP.NET.

Necesito dejar la variable URLS solo con rutas que inicien
en: images/xxxxx. Es decir:

La ruta : http://localhost/Algo/images/contents/foto.jpg
Quedaría: images/contents/foto.jpg

La ruta : Algo/images/contents/foto.jpg
Quedaría: images/contents/raton.jpg

La ruta : http://www.algo.com/images/contents/cdrom.jpg
Quedaría: images/contents/cdrom.jpg

La ruta : /images/contents/teclado.jpg
Quedaría: images/contents/teclado.jpg

La segunda y tercera ruta:

"http://localhost/Algo/images/conten....jpg"
"Algo/images/contents/raton.jpg"

Son rutas respecto a mi sitio en mi equipo de trabajo (o
sea DESARROLLO), donde la primera de ellas es absoluta y
la segunda relativa. Lo anterior da a entender que mi
proyecto se llama Algo.

La tercera y cuarta ruta:

"http://www.algo.com/images/contents....jpg"
"/images/contents/teclado.jpg"

Son rutas respecto al sitio en PRODUCCIÓN, donde nueva la
primera de ellas es absoluta y la segunda relativa.

ACLARACIÓN:

El dominio en PRODUCCIÓN y el directorio del proyecto en
DESARROLLO son ficticios y no van quemados en el código,
estos se obtendrán dinámicamente.

PREGUNTAS:
-

¿Cómo haría ustedes para solo dejar las rutas en forma
relativa a partir del directorio images?
¿Con una expresión regular?
¿Con el método Replace? ¿Qué reemplazaría?


Mil gracias.

Preguntas similare

Leer las respuestas

#1 Alejandro Perez
23/07/2004 - 21:03 | Informe spam
Hola Jaimito! La verdad al principio pense que estaba
claro en lo que necesitabas pero luego me confundiste.

Prueba esto:

string Ruta = textBox1.Text;
MessageBox.Show(Ruta.Substring(Ruta.IndexOf("images/")));

Y cuentame si es lo que necesitas.
Si no, escribenos y buscamos la solucion...

Bye!
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela


Hola compañeros...

Espero y pueda explicarme.

Tengo en una variable URLS de tipo String algo así:

URLS = "images/content/mapa.gif"
URLS += "http://localhost/Algo/images/conten....jpg"
URLS += "Algo/images/contents/raton.jpg"
URLS += "http://www.algo.com/images/contents....jpg"
URLS += "/images/contents/teclado.jpg"

Como se pueden dar cuenta tengo unas rutas a unas


imágenes
en un proyecto ASP.NET.

Necesito dejar la variable URLS solo con rutas que


inicien
en: images/xxxxx. Es decir:

La ruta : http://localhost/Algo/images/contents/foto.jpg
Quedaría: images/contents/foto.jpg

La ruta : Algo/images/contents/foto.jpg
Quedaría: images/contents/raton.jpg

La ruta : http://www.algo.com/images/contents/cdrom.jpg
Quedaría: images/contents/cdrom.jpg

La ruta : /images/contents/teclado.jpg
Quedaría: images/contents/teclado.jpg

La segunda y tercera ruta:

"http://localhost/Algo/images/conten....jpg"
"Algo/images/contents/raton.jpg"

Son rutas respecto a mi sitio en mi equipo de trabajo (o
sea DESARROLLO), donde la primera de ellas es absoluta y
la segunda relativa. Lo anterior da a entender que mi
proyecto se llama Algo.

La tercera y cuarta ruta:

"http://www.algo.com/images/contents....jpg"
"/images/contents/teclado.jpg"

Son rutas respecto al sitio en PRODUCCIÓN, donde nueva


la
primera de ellas es absoluta y la segunda relativa.

ACLARACIÓN:

El dominio en PRODUCCIÓN y el directorio del proyecto en
DESARROLLO son ficticios y no van quemados en el código,
estos se obtendrán dinámicamente.

PREGUNTAS:
-

¿Cómo haría ustedes para solo dejar las rutas en forma
relativa a partir del directorio images?
¿Con una expresión regular?
¿Con el método Replace? ¿Qué reemplazaría?


Mil gracias.
.

Respuesta Responder a este mensaje
#2 jaimito
23/07/2004 - 21:26 | Informe spam
Gracias viejo Alejandro...

Que pena haberlo confundido.

Lo que necesito es fácil, debo dejar las rutas siempre
relativas al directorio images del sitio que estoy
creando, ya sea en DESARROLLO ó PRODUCCIÓN.

La URL: "images/content/mapa.gif"
Queda igual

La URL: "http://localhost/Algo/images/conten....jpg"
Debe quedar "images/contents/foto.jpg"

La URL: "Algo/images/contents/raton.jpg"
Debe quedar "images/contents/raton.jpg"

La URL: "http://www.algo.com/images/contents....jpg"
Debe quedar "images/contents/cdrom.jpg"

La URL: "/images/contents/teclado.jpg"
Debe quedar images/contents/teclado.jpg"

Hago la salvedad de
Debido a que la propiedad ApplicationPath del objeto
Request cambia dependiendo de si se está en PRODUCCIÓN o
en DESARROLLO. Por decirlo de otro modo, en DESARROLLO si
tu creas en proyecto ASP.NET la propiedad ApplicationPath
te retorna /NombreDelProyecto y si estamos en PRODUCCIÓN e
instalamos el proyecto en un dominio como por ejemplo:
http://www.miweb.com, la propiedad ApplicationPath te
retorna solo un slash /.

La idea es que el código funcione independientemente del
entorno en que esté corriendo la aplicación.

Espero haberme explicado.

Me tomé el atrevimiento de agregarte a mis contactos del
Messenger de Hotmail, espero no te moleste.


Gracias...
Hola Jaimito! La verdad al principio pense que estaba
claro en lo que necesitabas pero luego me confundiste.

Prueba esto:

string Ruta = textBox1.Text;
MessageBox.Show(Ruta.Substring(Ruta.IndexOf("images/")));

Y cuentame si es lo que necesitas.
Si no, escribenos y buscamos la solucion...

Bye!
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela
Respuesta Responder a este mensaje
#3 Alejandro Perez
23/07/2004 - 22:05 | Informe spam
Tranquilo. Y el codigo que te envie no te soluciona el
problema?

Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela

Gracias viejo Alejandro...

Que pena haberlo confundido.

Lo que necesito es fácil, debo dejar las rutas siempre
relativas al directorio images del sitio que estoy
creando, ya sea en DESARROLLO ó PRODUCCIÓN.

La URL: "images/content/mapa.gif"
Queda igual

La URL: "http://localhost/Algo/images/conten....jpg"
Debe quedar "images/contents/foto.jpg"

La URL: "Algo/images/contents/raton.jpg"
Debe quedar "images/contents/raton.jpg"

La URL: "http://www.algo.com/images/contents....jpg"
Debe quedar "images/contents/cdrom.jpg"

La URL: "/images/contents/teclado.jpg"
Debe quedar images/contents/teclado.jpg"

Hago la salvedad de
Debido a que la propiedad ApplicationPath del objeto
Request cambia dependiendo de si se está en PRODUCCIÓN o
en DESARROLLO. Por decirlo de otro modo, en DESARROLLO


si
tu creas en proyecto ASP.NET la propiedad


ApplicationPath
te retorna /NombreDelProyecto y si estamos en PRODUCCIÓN


e
instalamos el proyecto en un dominio como por ejemplo:
http://www.miweb.com, la propiedad ApplicationPath te
retorna solo un slash /.

La idea es que el código funcione independientemente del
entorno en que esté corriendo la aplicación.

Espero haberme explicado.

Me tomé el atrevimiento de agregarte a mis contactos del
Messenger de Hotmail, espero no te moleste.


Gracias...
Hola Jaimito! La verdad al principio pense que estaba
claro en lo que necesitabas pero luego me confundiste.

Prueba esto:

string Ruta = textBox1.Text;
MessageBox.Show(Ruta.Substring(Ruta.IndexOf




("images/")));

Y cuentame si es lo que necesitas.
Si no, escribenos y buscamos la solucion...

Bye!
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela


.

Respuesta Responder a este mensaje
#4 jaimito
23/07/2004 - 22:49 | Informe spam
No lo soluciona puesto que necesito es quitar el texto que
no necesito, no extraer parte del texto. Además, en la
variable cadena pueden venir a parte de URL's mas código
HTML como <DIV><P><FONT>,etc

Gracias...

Tranquilo. Y el codigo que te envie no te soluciona el
problema?

Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela
Respuesta Responder a este mensaje
#5 Tristan
24/07/2004 - 13:12 | Informe spam
¿Pero jaimito, no hay ningún separador entre una url y otra?. Tal, como
tienes tu ejemplo, no solo no veo forma de hacerlo con expresiones
regulares. No veo forma de hacerlo de ninguna manera.

URLS += "http://localhost/Algo/images/conten....jpg"
URLS += "Algo/images/contents/raton.jpg"

Daría lugar a un string:

http://localhost/Algo/images/conten.../raton.jpg

¿De que forma puede un programa saber que son dos url?


Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida