mercoledì 10 novembre 2010

Replace case Insensitve ?

Ahi.. la string.Replace() accetta due parametri ma è accettabile ?? No direi proprio di no.

Effettivamente mi sono prodigato più volte nell'affrontare una Replace IgnoreCase, e in molti (troppi casi) ci si trova a dover affrontare utenti che non leggono il manuale (come tutti noi del resto) è grave, davvero grave quando è chi installa un applicazione e la configura a non leggere
le specifiche.

Quindi ci si trova a leggere elementi da un file di configurazione che hanno valori non consoni
a quel che ci si aspetta.

Capita quindi che utilizzando una Replace in un Template qualcosa non vada...

Tuttavia nel namespace System.Text c'e' RegularExpression (ammetto un mondo nuovo e bellissimo) ... Dove potete trovare questo gioiello.

Regex.Replace (Testo di partenza, Testo Da trovare, Testo Che sostituisce, RegexOptions)

E proprio questo RegexOptions (Enumerativo) contiene anche IgnoreCase.

Qualcuno dice un po lento ( ma se si tratta di poche occorrenze fa il suo sporco lavoro per bene)

Volendo nello splendido mondo di Regular Expression si potrebbe anche pensare a qualcosa
di più efficace... ma credo che possa già essere efficace così.

Nessun commento: