Чтобы в C# выполнить поиск в строке, используются методы IndexOfAny(Char[]) и LastIndexOfAny(Char[]);
IndexOfAny(Char) возвращает позицию индекса с отсчетом от нуля первого вхождения в данном экземпляре какого-либо одного или нескольких символов, указанных в массиве символов Юникода.
LastIndexOfAny(Char[]) делает то же самое, только возвращает индекс последнего вхождения.
Когда подстрока не найдена, методы возвращает -1.
string welcome = "Hello world! Goodbye world!";
int x = welcome.IndexOfAny(new Char[] {'w'}); // 6
Обратите внимание: данные методы не ищут количество вхождений, а всего лишь определяют, есть ли такая подстрока в строке или нет.
Чтобы удалить подстроку можно использовать метод Remove(Int32, Int32) - он удаляет подстроку от первого указанного индекса до второго.
string welcome = "Hello world! Goodbye world!";
string cut = welcome.Remove(1, 3); // "Ho world! Goodbye world!"