【发布时间】:2021-12-02 16:50:05
【问题描述】:
如果这是一个明显的问题,这里的新程序员非常抱歉。 我需要在 C# 中编写一段非常简单的代码(作为练习,所以没有要连接的数据库)来比较两个视觉上相似的字符串,例如FOX 和 F0X。
据我所知,大多数比较方法都会返回说它们不相似,因为 O 和 0 是不同的字符,所以我不知道该怎么做!
任何指针将不胜感激!谢谢
【问题讨论】:
-
使用类字符串比较?
-
您对视觉上相似的含义有什么规定吗?鉴于 Unicode 字符种类繁多,该列表将非常长。最简单的方法是使用 canonicalized 表示(例如将零更改为大写 Os 等),用于两个字符串
-
所以规则是 FOX 和 F0X 相似,BBB 和 B B B 相似但 ABC 和 DEF 不相似。这只是一个非常简单的练习,在测试中使用了一些硬编码的字符串。我查看了字符串比较,但我认为它会说 FOX 和 F0X 不相似,因为 O 和零是不同的字符 - 除非我误解了?
-
嗯,我想也许可以在这里跳出框框思考-听起来您需要图像分析而不是文本。或者写一些复杂的定制规则来描述看起来相似的单词序列。