gpt4 book ai didi

c# - Umlaute 的文化感知字符串比较

转载 作者:太空狗 更新时间:2023-10-29 21:49:50 26 4
gpt4 key购买 nike

我需要比较德语语言中的两个字符串,以检查它们是否相等并且仅在元音变音的使用上有所不同。例如。 “Jörg”应与“Joerg”相同。

所以我尝试了:

var ci = new CultureInfo("de-DE");
int compareResult = ci.CompareInfo.Compare("jörg", "joerg", CompareOptions.IgnoreNonSpace);

还有

int compareResult = String.Compare("jörg", "joerg", true, ci);

(或者这两者是否相等?)

但是,这不起作用并将返回 1。所有元音变音符 ö、ü 和 ä 都相同。如果我以相同的方式比较 strassestraße,这确实有效并返回 0?!

感谢您的任何想法!这post建议我的应该工作。

最佳答案

我遇到了同样的问题,但没有找到其他解决方案然后替换它们,例如通过扩展。据我所知,对此没有“直接”解决方案。

public static string ReplaceUmlaute(this string s) 
{
return s.Replace("ä", "ae").Replace("ö", "oe").Replace("ü", "ue").Replace("Ä", "AE").Replace("Ö", "OE").Replace("Ü", "UE");
}

结果:

int compareResult = String.Compare("jörg".ReplaceUmlaute(), "joerg", true, ci); // 0

关于c# - Umlaute 的文化感知字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29845211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com