0 26
05
2012

String Replace Ignore Case en C# y VB.NET

En el día a día del programador, suelen surgir multitud de dudas, que aunque parecen más que obvias, siempre te hacen acudir a internet a buscar la mejor solución.

Hace un par de días, me encontré ante la necesidad de algo tan sumamente sencillo como reemplazar un texto por otro en una cadena, pero ignorando mayúsculas y minúsculas, trabajando en C# .NET.

Lo primero en lo que pensé es que el método String.Replace de .NET permitiría añadir un parámetro opcional para indicar este modificador, pero no es así, por lo que tenemos que buscarnos las habichuelas por otra parte.

Cierto es que tampoco nos tenemos que ir muy lejos, y es nuevamente el poder de las expresiones regulares el que nos permite construir nuestro propio String Replace siendo insensible a mayúsculas y minúsculas.

Ejemplo de Replace Ignore Case en C#

    public string ReplaceIgnoreCase(string original, string search, string replace)
    {
	// Reemplazo habitual
        string value = original.Replace(search, replace);
	// Reemplazo utilizando expresiones regules ignorando mayúsculas y minúsculas
        string value2 = System.Text.RegularExpressions.Regex.Replace(original, search, replace, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
        return value2;
    }

...
        string original = "La parte contratante de la primera parte";
        string search = "PaRtE";
        string replace = "cosa";
        string replaced = ReplaceIgnoreCase(original, search, replace);

...

Ejemplo de Replace Ignore Case en VB.NET

Public Function ReplaceIgnoreCase(original As String, search As String, replace As String) As String
	' Reemplazo habitual
	Dim value As String = original.Replace(search, replace)
	' Reemplazo utilizando expresiones regules ignorando mayúsculas y minúsculas
	Dim value2 As String = System.Text.RegularExpressions.Regex.Replace(original, search, replace, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
	Return value2
End Function

Tags: , ,