C# 检查字符串是否有拼写错误
我有这样一种情况:我以字符串格式获取数据(地理区域名称)。(例如:-亚洲、澳大利亚)有时我也会获取具有多个区域的字符串(例如:-欧洲和非洲、北美和德国等)。这些区域的分隔符也不同,但区域保持不变(例如:亚洲和非洲、亚洲-非洲、亚洲/非洲等)。主要问题是这些数据可能不一致。它也有拼写错误。(例如:-太平洋/太平洋等) 现在,我需要将所有这些区域映射到一组桶中,但到目前为止,我必须手动完成这项工作。是否有一种方法可以至少在某种程度上自动映射这些字符串?我曾尝试使用soundex功能,但我决定不使用它,因为美国或美国或美国显示不同,奥地利和澳大利亚显示相同C# 检查字符串是否有拼写错误,c#,wpf,string,mapping,match,C#,Wpf,String,Mapping,Match,我有这样一种情况:我以字符串格式获取数据(地理区域名称)。(例如:-亚洲、澳大利亚)有时我也会获取具有多个区域的字符串(例如:-欧洲和非洲、北美和德国等)。这些区域的分隔符也不同,但区域保持不变(例如:亚洲和非洲、亚洲-非洲、亚洲/非洲等)。主要问题是这些数据可能不一致。它也有拼写错误。(例如:-太平洋/太平洋等) 现在,我需要将所有这些区域映射到一组桶中,但到目前为止,我必须手动完成这项工作。是否有一种方法可以至少在某种程度上自动映射这些字符串?我曾尝试使用soundex功能,但我决定不使用它
谢谢您的帮助您想过使用(模糊)搜索引擎吗?(例如Lucene) 为此,我将做以下工作:
从此处创建同义词
数一数拼写错误的单词
从最常见拼写错误的同义词开始 您还可以使用levenshtein距离来查找类似的单词
即使是英语,我也不推荐soundex 你怎么知道这些名字的?这是用户输入的问题,还是您从无法控制的源接收这些字符串?更正输入错误的数据不是开发人员的责任,而是开发人员的责任,在询问堆栈溢出问题之前,尝试自己的要求。请向我们展示您迄今为止的尝试。@Steve我们使用彭博数据。所以我们无法控制它。我们问过彭博社他们自己是否有办法,他们说他们提供数据的方式和提供给他们的方式一样。@Sheridan,就像我说的。我尝试过使用soundex方法和字符串差分方法。但是选择不使用它,因为它们不是傻瓜式的。那么,这是一个困难的场景。我现在唯一能想到的就是某种学习工具。假设两个表,一个带有规范化区域,另一个带有这些变量字符串,并用公共代码链接在一起。在变量表中搜索并查看是否有规范化版本,否则添加新字符串并要求手动协调。随着时间的推移,手动工作量应该会减少。(如果变化的数量不是无限的)谢谢你。。我来看看这个。此外,我知道100%映射是不可能的,但如果它能将我的手工工作减少50%,那就太好了。。干杯D您能否快速思考一下同义词的含义?您自己给出的同义词,例如“USA”、“美利坚合众国”可以被视为同义词,因此将被视为同一文档/物理区域。