我写了一个代码,我想比较 2 个相同的名字,但其中一个带有变音符号
例如。 Dăn 将与 Dan
匹配我希望能够匹配有和没有变音符号的越南名字,但我的代码保持返回不匹配以进行检查。还有其他方法吗?
static void Main(string[] args)
{
string name1 = "Dan";
string name2 = "Dăn";
bool match = CompareStrings(name1, name2);
if (match)
{
Console.WriteLine("The strings match.");
}
else
{
Console.WriteLine("The strings do not match.");
}
}
static bool CompareStrings(string str1, string str2)
{
if (str1.Equals(str2, StringComparison.InvariantCultureIgnoreCase))
{
return true;
}
string str1Normalized = str1.Normalize(NormalizationForm.FormC);
string str2Normalized = str2.Normalize(NormalizationForm.FormC);
if (str1Normalized.Equals(str2Normalized, StringComparison.InvariantCultureIgnoreCase))
{
return true;
}
return false;
}