我正在使用C#Windows窗體應用程序。任何人都可以幫助我以最快的方式來檢測字符串2中是否存在字符串「x」的多於'x'個字符的相同模式&,反之亦然。Winforms dot.net檢測字符串2中是否存在超過x個字符串的字母,反之亦然
例如:「puppydogphotos.jpg」中的「dog」將被視爲檢測。
我做類似以下,但其在某些情況下失敗:
foreach (var word in Kewords.Split(','))
{
var filename = Path.GetFileNameWithoutExtension(e.FullPath).ToLower();
var extenion = Path.GetExtension(e.FullPath).ToLower();
if (word.ToLower().Contains(filename) || word.ToLower().StartsWith(filename) || word.ToLower().EndsWith(filename) || word.Contains(extenion) || filename.ToLower().Contains(word.ToLower()) ||filename.ToLower().StartsWith(word) || filename.ToLower().EndsWith(word))
{
keywordMatch = true;
}
}
謝謝
你能更清楚地解釋你想檢測一下?當然,它應該是filename.contains(單詞),而不是word.contains(文件名) –
讓我們改進一下......這個'if'語句看起來很長很可怕!如果使用「Contains」和「||」,則不需要檢查「StartsWith」或「EndsWith」。另外,只需使用'ToLower'一次,然後調用'Contains',因爲它會和整個語句具有相同的效果。 所以你需要的是你的第一個條件。 – Alex
好的,案例1:假設字符串1有「verybaddata.jpg」,字符串2有「bad」或「dda」,我想返回true。案例2:假設字符串1有「trex.txt」,字符串2有「ex.tx」或「rex」,我想返回true。 (true表示序列中的兩個以上的字符由兩個字符串變量共享)。 – Robin