用英语等价物替换德语字符(变音符号,重音符号)
我需要从各个文本字段中删除任何德语特定字符,以便处理到另一个不接受它们有效的系统.
所以我所知道的人物是:
ßäöüÄÖÜ
目前我有一种手动方式来替换它们:
myGermanString.Replace("ä","a").Replace("ö","o").Replace("ü","u").....
Run Code Online (Sandbox Code Playgroud)
但我希望有一种更简单/更有效的方法.因为我每次运行都会在数千个字符串上进行,其中99%不会包含这些字符.
也许是一种涉及某种CultureInfo的方法?
(例如,根据MS,以下返回的字符串是相等的
String.Compare("Straße", "Strasse", StringComparison.CurrentCulture);
Run Code Online (Sandbox Code Playgroud)
所以必须存在某种转换表?)
我正在尝试使用德语字母表的电话簿排序对字符串列表进行排序。在德语字母排序中,特殊字符或变音符号由以下表示:
\n\n因此,升序排序最终应该是这样的:
\n\n我在 C# 领域工作,一直在使用 CultureInfo 创建一个新的字符串比较器进行排序。使用它,我得到以下命令:
\n\nAF
\n\nList<string> l = new List<string>();\nl.Add("Ad");\nl.Add("\xc3\x84");\nl.Add("Af");\n\nvar comparer = StringComparer.Create(CultureInfo.CreateSpecificCulture("de"), true);\nvar x = l.OrderBy(y => y, comparer);\n\nforeach(var outp in x) {\n Console.WriteLine(outp);\n}\nRun Code Online (Sandbox Code Playgroud)有谁知道我如何使用自定义比较器或使用现有的文化比较器来做到这一点?
\n我只找到了StringComparison,但这对于Contains不起作用.另一个必要的事情是忽略案例,而"ä"应该等同于"a".