2016-06-09 95 views
-1

我的輸入存儲在變量source中,我將它與變量targetString進行比較。所以,我想它得到的結果類似列result如何在C#中自定義近似字符串匹配?

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的列中,它在比較模式Weak,NormalStrong中也返回true

有什麼方法可以解決我的問題比使用FuzzyString簡單嗎?

+0

這不是更適合Excel或類似Acces的產品嗎?不確定這是否是您必須處理的附帶問題,或者是否是某個系統的需求。 – Zimano

+4

你想遵循什麼規則?我甚至不明白爲什麼第一個例子得到'真正',第三個'假' –

+2

所以你只關心'String'是否以值開始?爲什麼不使用['String.StartsWith()'](https://msdn.microsoft.com/en-us/library/ms131452(v = vs.110).aspx)呢? – Draken

回答

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

如果你的規則改變,請讓我知道,我可以更新的答案。

+0

你的回答正是我想找的。 – vanloc

相關問題