Para pesquisar em uma string em C#, o  IndexOfAny(Char [] ) e LastIndexOfAny(Char[]);
IndexOfAny(Char) Retorna a posição de índice baseada em zero da primeira ocorrência nesta instância de qualquer um ou mais caracteres especificados em uma matriz de caracteres Unicode. 
LastIndexOfAny(Char[]) faz o mesmo, retorna apenas o índice da última ocorrência. 
Quando a substring não é encontrada, os métodos retornam -1. 
string welcome = "Olá, mundo! Adeus mundo!"
int x = welcome.IndexOfAny(new Char[] {'w'}); // 6
Observação: esses métodos não procuram o número de ocorrências , mas apenas determine se existe tal substring na string ou não.
Para remover uma substring, você pode usar o método Remove(Int32, Int32) - ele remove a substring do primeiro índice especificado para o segundo.
string welcome = "Olá mundo! Adeus mundo!";
string cut = welcome.Remove(1, 3); // "Ho mundo! Adeus mundo!"