Вам не нужно удалять строки, просто пропустите те строки, которые содержат ваш поисковый запрос
foreach (string line in lines)
{
if (!line.Contains(searchItem)) //<= Notice here I added exclamation mark (!)
{
//Do your work when line does not contains search term
}
else
{
//Do something if line contains search term
}
}
Или альтернативой является фильтрация ваших строк, которые не содержат ваш поисковый запрос перед циклом, как
lines = lines.Where(line => !line.Contains(searchItem));
foreach (string line in lines)
{
//Here are those line that does not contain search term
}
Если поисковый запрос содержит несколько слов, разделенных запятой (,
), вы можете пропустить эти строки на
lines = lines.Where(line => searchItem.Split(',').All(term => !line.Contains(term)));