2009-12-10 5 views
2

Je souhaite comparer deux chaînes pour une correspondanceChaîne de comparaison en C#

ie;

mes deux cordes sont

string1 = "hi i'm tibinmathew @ i'm fine"; 

string2 = "tibin"; 

Je veux comparer la chaîne de deux ci-dessus.

S'il y a une correspondance trouvée, je dois exécuter quelques instructions.

Je veux le faire en C#. Comment puis-je faire ceci?

Répondre

6
if (string1.Contains(string2)) { 
    //Your code here 
} 
6

Il semble que vous vouliez juste voir si la première chaîne a une sous-chaîne qui correspond à la deuxième chaîne, n'importe où à l'intérieur. Vous pouvez le faire:

if (string1.Contains(string2)) 
{ 
    // Do stuff 
} 
11

Tels que les suivants?

string1 = "hi i'm tibinmathew @ i'm fine"; 
string2 = "tibin"; 

if (string1.Contains(string2)) 
{ 
    // ... 
} 

Pour les sous-chaînes simples cela fonctionne. Il existe également des méthodes comme StartsWith et EndsWith.

Pour les matches plus élaborés, vous devrez peut-être des expressions régulières:

Regex re = new Regex(@"hi.*I'm fine", RegexOptions.IgnoreCase); 

if (re.Match(string1)) 
{ 
    // ... 
} 
2

string1.Contains(string2) meilleures réponses ce.

2

Si vous voulez que la position du match ainsi, vous pouvez soit faire le regex, ou simplement

int index = string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase); 

retourne -1 si chaîne2 est pas chaine1, boîtier en ignorant.