字典小写和大写C#

时间:2018-10-30 09:55:19

标签: c#

如何获得特殊的算法,以使大写字母和简单字母具有相同的值。 范例- Ā-> Aa
-ā-> aa
-Č-> Ch
-č-> ch

public static readonly Dictionary<string, string> dict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
{
    {"Ā", "Aa"},
    {"Č", "Ch"},
    {"Ē", "Ee"},
    {"Ī", "Ii"},
    {"Š", "Sh"},
    {"Ū", "Uu"},
    {"Ž", "Zh"}
};

忽略大小写

string inputText = Console.ReadLine();

    foreach (var item in dict)
    {
        inputText = inputText.Replace(item.Key, item.Value);
    }

1 个答案:

答案 0 :(得分:3)

替换是区分大小写的,因此您的代码将仅替换为大写字母,也可以对小写字母进行相同替换:

foreach (var item in dict)
{
        inputText = inputText.Replace(item.Key, item.Value)
                             .Replace(item.Key.ToLower(), item.Value.ToLower());
}

但是正如@TimSchmelter所说,最好在字典中同时包含小写和大写字母,例如:

public static readonly Dictionary<string, string> dict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
{
    {"Č", "Ch"},
    {"č", "ch"},
    //other items
};