C# 文化特定符号
C# Culture Specific symbols
在拉脱维亚文化中 lv-LV
有特殊字符,例如 'ā'、'ī'、'ģ' 等。
是否有任何内置方式,其中以下代码 returns true ?
var nameLv = "Jevģeņijs";
var nameEng = "Jevgenijs";
nameLv.Equals(nameEng, StringComparison.InvariantCultureIgnoreCase);
这是将 this answer 应用于您的代码的解决方案。
public static void Main()
{
var nameLv = "Jevģeņijs";
var nameEng = "Jevgenijs";
var result = IsEquivalent(nameLv, nameEng); // returns True
}
public static bool IsEquivalent(string latvian, string english)
{
return english ==
Encoding.UTF8.GetString(Encoding.GetEncoding("ISO-8859-8").GetBytes(latvian));
}
我不能说这是否是最稳健的方法或者是否适用于任何特定的字符串,但tested with your input它似乎工作正常。
同一个话题中有 quite a few other solutions 个您可能也想查看的帖子。
在拉脱维亚文化中 lv-LV
有特殊字符,例如 'ā'、'ī'、'ģ' 等。
是否有任何内置方式,其中以下代码 returns true ?
var nameLv = "Jevģeņijs";
var nameEng = "Jevgenijs";
nameLv.Equals(nameEng, StringComparison.InvariantCultureIgnoreCase);
这是将 this answer 应用于您的代码的解决方案。
public static void Main()
{
var nameLv = "Jevģeņijs";
var nameEng = "Jevgenijs";
var result = IsEquivalent(nameLv, nameEng); // returns True
}
public static bool IsEquivalent(string latvian, string english)
{
return english ==
Encoding.UTF8.GetString(Encoding.GetEncoding("ISO-8859-8").GetBytes(latvian));
}
我不能说这是否是最稳健的方法或者是否适用于任何特定的字符串,但tested with your input它似乎工作正常。
同一个话题中有 quite a few other solutions 个您可能也想查看的帖子。