【问题标题】:C# Culture Specific symbols [duplicate]C#文化特定符号[重复]
【发布时间】:2016-12-03 22:37:57
【问题描述】:

在拉脱维亚文化lv-LV 中存在特殊字符,如“ā”、“ī”、“ģ”等。 是否有任何内置方式,以下代码返回 true ?

var nameLv = "Jevģeņijs";

var nameEng = "Jevgenijs";

nameLv.Equals(nameEng, StringComparison.InvariantCultureIgnoreCase);

【问题讨论】:

  • 是的,可以,谢谢!

标签: c# string string-comparison culture


【解决方案1】:

这是一个将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,您可能也想签出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多