2010-11-01 3 views

Répondre

6

str.SubString (str.IndexOf ("connect"));

2

Effectuez les opérations suivantes:

string input = "..."; 

input.Substring(input.IndexOf("connect")); 
6

Une combinaison de IndexOf, SubString et vérifier qu'il existe pour éviter une ArgumentOutOfRangeException:

string input = "Please make sure you have the connect TNSnames and SQLnet files."; 
int index = input.IndexOf("connect"); 
if (index != -1) 
{ 
    string result = input.Substring(index); 
} 

Aussi, pensez à ce qui se passe si vous avez le mot « connexion "au lieu de" connecter "- est-ce une correspondance partielle valide ou devez-vous trouver le mot complet? Si vous avez besoin du mot complet, vous pouvez utiliser une expression régulière de limite de mot en plaçant votre mot désiré entre \b métacaractères:

Match m = Regex.Match(input, @"\bconnect\b.*$"); 
if (m.Success) 
{ 
    Console.WriteLine(m.Value); 
} 

La partie .*$ raconte l'expression rationnelle correspond à tout caractère (.*) jusqu'à la fin de la phrase ($).

Si vous voulez vraiment l'index, vous pouvez omettre la partie .*$ et utiliser (je suis bien que cela ne tient pas compte de l'utilité des expressions rationnelles, ne l'avoir signalé si vous avez besoin de l'indice pour une raison quelconque):

Match m = Regex.Match(input, @"\bconnect\b"); 
if (m.Success) 
{ 
    int index = m.Index; 
    Console.WriteLine(input.Substring(index)); // Substring approach again 
} 
Questions connexes