Regex vs String.Replace y String,Substring

06/03/2009 - 21:31 por mtaboada | Informe spam
Buenas tardes amigos tengo una duda que parece interesante acerca de
utilizar expresiones regulares para validar textos o utilizar
String.replace.. en muchas paginas dicen que no es eficiente utilizar
regex y en otras dice que si lo es.
Quisera saber su opinion al respecto y que aconsejarian utilizar, en
mi caso particular son textos grandes en los que tengo que realizar
busquedas y/o reemplazar patrones. Por el momento utilizao una uncia
expresion regular para hacerlo, pero seria mas eficiente utilizar
string.replace, o string.Substring?tantas veces sea necesario? ( Ej.
eliminar comas, puntos etc, recuperar fragmentos de la cadena)
quisisera saber su opinion en base a su experiencia. gracias por su
tiempo..
 

Leer las respuestas

#1 Julián Mejio Cárdenas
06/03/2009 - 22:22 | Informe spam
mtaboada escribió:
Buenas tardes amigos tengo una duda que parece interesante acerca de
utilizar expresiones regulares para validar textos o utilizar
String.replace.. en muchas paginas dicen que no es eficiente utilizar
regex y en otras dice que si lo es.
Quisera saber su opinion al respecto y que aconsejarian utilizar, en
mi caso particular son textos grandes en los que tengo que realizar
busquedas y/o reemplazar patrones. Por el momento utilizao una uncia
expresion regular para hacerlo, pero seria mas eficiente utilizar
string.replace, o string.Substring?tantas veces sea necesario? ( Ej.
eliminar comas, puntos etc, recuperar fragmentos de la cadena)
quisisera saber su opinion en base a su experiencia. gracias por su
tiempo..


Hola.
Según mi concepto, es mejor utilizar expresiones regulares para trabajar
con cualquier texto, sea grande o pequeño. La ineficiencia está en la
expresión regular como tal: primero el CLR debe compilar la expresión,y
es en ese proceso donde se nota la eficiencia de la expresión regular
como tal; lo demás consume proceso casi igual a utilizar Replace o
Substring. Te recomiendo que utilices expresiones regulares específicas
y no generales, o sea, asegurarse de que el CLR sólo compile lo
necesario en cada operación que haga con la expresión regular. Espero
haberte ayudado.

Preguntas similares