拉脱维亚文化 lv-LV
有一些特殊字符,如“ā”、“ī”、“ģ”等。
是否有任何内置方法可以让以下代码返回 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在同一个线程中,您可能也想查看一下。
关于C# 文化特定符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40953269/