如何在西里尔文/拉丁文字符串中搜索西里尔文/拉丁文'a'或其他类似字符

时间:2011-12-21 09:51:45

标签: c# character-encoding

我正在实施过滤功能。我使用:

定义字符串是否适合查询
someString.IndexOf(someSearch, StringComparison.OrdinalIgnoreCase) >= 0

但有时(当然在非常罕见的情况下)值可能会像“aaa”或“ccc”一样,忽略语言会更方便用户使用。

1 个答案:

答案 0 :(得分:1)

西里尔字母与拉丁字母之间没有确定的对应关系。西里尔字母es“с”与拉丁字母“c”完全不同,即使包含它们的任何字体可能都有相同的字形。在内部表示和字符级处理中,它们与任何两个不相关的字符完全不同。

您希望接受的方式,例如西里尔字母es“с”为拉丁字母“c”,你需要自己编码。但我认为这不会有用。相反,如果您的应用程序只需要拉丁字母,那么您的错误处理例程可以检查是否存在来自其他书写系统的字符,并告知用户。