Regular Expression Vs. String manipulation

Tutti conosciamo le potenzialità delle regular expression, ma come si comportano in termini di preformance nel caso si tratti di fare estrazioni piuttosto semplici?

In altre parole, quale di queste due soluzioni scegliereste per escludere il dominio da una serie di indirizzi e.mail (es: utente.nome@dominio.it)?

 

Soluzione 1

for (x = 0; x < fields.Length; x++)

      string nome = fields[x].Substring(0, fields[x].IndexOf("@"));

 

Soluzione 2

Regex myRegEx = new Regex(@"^\w*");

for (x = 0; x < fields.Length; x++)

      string nome = myRegEx.Match(fields[x]).Value.ToString();

 

Entrambe le soluzioni ovviamente raggiungono lo scopo, ma quale delle due risulta ottenere le migliori performance?

 

Technorati Tags:

posted @ lunedì 12 settembre 2005 14:15

Print

Comments on this entry:

# re: Regular Expression Vs. String manipulation

Left by Daniele Proietti at 13/09/2005 12:12
Gravatar
Le regular expression sono un potentissimo strumento per lo sviluppatore, ma come già accennato da Igor, quando si tratta di semplici estrazioni come nel caso proposto, le performance risultano peggiori rispetto ad una classica “string manipulation”. Nel nostro caso il risparmio si avvicina ad un 38% del tempo.
Attenzione comunque alla leggibilità del codice, perché in alcuni casi codice un po’ più lento ma meglio mantenibile è preferibile a codice più veloce da di difficile implementazione.
Comments have been closed on this topic.
«luglio»
domlunmarmergiovensab
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910