gpt4 book ai didi

c# - 折叠案例以加快比较

转载 作者:行者123 更新时间:2023-12-03 14:57:16 24 4
gpt4 key购买 nike

"strasse".Equals("STRAße",StringComparison.InvariantCultureIgnoreCase)

这返回真。哪个是正确的。不幸的是,当我将其中一个存储在 postgres 中时,它认为在进行不区分大小写的匹配时它们不一样(例如,使用 ~* )。我也用 citext 测试过。

因此,一种解决方案是预先折叠箱子,从而存放 strasse对于这些值中的任何一个,在另一列中。然后我可以索引并搜索匹配项。

我一直在寻找如何在 C# 中折叠 case 一段时间,但一直无法在 C# 中找到解决方案。显然,知识是存在的,因为它可以正确比较这些字符串,我只是找不到从哪里获取它。

一种解决方案是产生一个 perl 进程 perl -E "binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; while (<>) { print fc }" ,将这些管道的进程的 C# 端也设置为 utf8,然后只需通过 perl 发送文本以折叠案例。但必须有比这更好的方法。

最佳答案

string.Normalize() ,这需要一个 NormalizationForm范围。迈克尔·卡普兰 goes into detail在这一点上。他声称它比 FoldStringW 做得更好.
但是,它不会将大小写规范化为上或下,它只会折叠为规范形式。我建议你直接申请 ToUpperToLower然后。

关于c# - 折叠案例以加快比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49680607/

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