如何在C#中进行自定义近似字符串匹配?
我的输入存储在变量如何在C#中进行自定义近似字符串匹配?,c#,C#,我的输入存储在变量source中,并与变量targetString进行比较。因此,我希望它得到列result中的结果: source targetString result ------------------------------------------------------------- Canada Canada - Fan Club true Real
source
中,并与变量targetString
进行比较。因此,我希望它得到列result
中的结果:
source targetString result
-------------------------------------------------------------
Canada Canada - Fan Club true
Real Madrid Real Madrid(Football Club) true
Chelsea FC - Chelsea false
Wolfsburg FC Wolfsburg false
我试过了。但在值为Chelsea
和Wolfsburg
的列中,在比较模式Weak
、Normal
和Strong
中,它也返回true
有没有比使用
FuzzyString
更简单的方法来解决我的问题?从当前示例来看,您似乎只希望字符串以指定的值开头时返回true。所以,您可以改为使用如下方法:
public boolean checkString(String source, String targetString) {
StringComparison comparison = StringComparison.InvariantCulture;
return targetString.StartsWith(source, comparison);
}
如果您的规则发生变化,请告诉我,我可以更新答案。这不是更适合Excel或Acces之类的产品吗?不确定这是您必须处理的偶然问题还是某些系统的要求。您希望遵循哪些规则?我是安;我甚至不明白为什么第一个示例为
true
,第三个示例为false
,所以您只关心字符串是否以值开头?那么为什么不使用呢?它看起来既不模糊也不近似。从您提供的表来看,这一切看起来都像是前缀搜索。在字符串上尝试StartsWith
。阅读所有注释后,我不知道StartsWith
。谢谢。你的答案正是我想找到的。