如何在C#中进行自定义近似字符串匹配?

时间:2016-06-09 06:52:09

标签: c#

我的输入存储在变量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

我试过了with FuzzyString in CodePlex。但在具有值ChelseaWolfsburg的列中,它还会在比较模式trueWeakNormal中返回Strong。< / p>

有没有什么方法可以解决我的问题比使用FuzzyString更简单?

1 个答案:

答案 0 :(得分:3)

从您当前的示例开始,如果它们以指定的值开头,您似乎只希望字符串返回true。那么,你可以做的是使用String.StartsWith()方法,如下所示:

public boolean checkString(String source, String targetString) {
    StringComparison comparison = StringComparison.InvariantCulture;
    return targetString.StartsWith(source, comparison);
}

For different types of StringComparison, check the MSDN page

如果您的规则发生变化,请告诉我,我可以更新答案。