📅  最后修改于: 2023-12-03 14:39:42.607000             🧑  作者: Mango
En C#, a veces es necesario convertir caracteres con tilde a su forma sin tilde para comparaciones o búsquedas en bases de datos. Aquí te mostramos algunas formas de hacerlo.
La librería System.Globalization contiene la clase StringNormalizationExtensions que proporciona el método RemoveDiacritics que convierte caracteres con diacríticos en su forma sin diacríticos. Aquí está un ejemplo:
using System.Globalization;
string textoOriginal = "áéíóúñ";
string textoSinTilde = textoOriginal.Normalize(NormalizationForm.FormD).RemoveDiacritics();
Console.WriteLine(textoSinTilde); // Imprime: aeioun
Notas:
También es posible utilizar expresiones regulares para reemplazar caracteres con diacríticos por sus equivalentes sin diacríticos. Aquí está un ejemplo:
using System.Text.RegularExpressions;
string textoConTilde = "áéíóúñ";
string textoSinTilde = Regex.Replace(textoConTilde.Normalize(NormalizationForm.FormD), @"[^a-zA-Z0-9\s]", "");
Console.WriteLine(textoSinTilde); // Imprime: aeioun
Notas:
Convertir caracteres con tilde en C# puede ser necesario para comparar o buscar texto en bases de datos con caracteres sin tilde. En este artículo, hemos visto dos formas de hacerlo: utilizando la librería System.Globalization y con expresiones regulares. ¡Esperamos que esta información te sea útil!