Comparaison de chaînes
Le .NET Framework fournit plusieurs méthodes de comparaison des valeurs de chaînes. Le tableau suivant énumère et décrit les méthodes de comparaison des valeurs.
Nom de la méthode | Use |
---|---|
Compare les valeurs de deux chaînes. Retourne une valeur entière. |
|
Compare deux chaînes sans considération de la culture locale. Retourne une valeur entière. |
|
Compare l'objet chaîne en cours à une autre chaîne. Retourne une valeur entière. |
|
Détermine si une chaîne commence par la chaîne passée. Retourne une valeur Boolean. |
|
Détermine si une chaîne se termine par la chaîne passée. Retourne une valeur Boolean. |
|
Détermine si deux chaînes sont identiques. Retourne une valeur Boolean. |
|
Retourne la position d'index d'un caractère ou d'une chaîne, en commençant par le début de la chaîne que vous examinez. Retourne une valeur entière. |
|
Retourne la position d'index d'un caractère ou d'une chaîne, en commençant par la fin de la chaîne que vous examinez. Retourne une valeur entière. |
Compare
La méthode String.Compare fournit une possibilité de comparer directement l'objet chaîne en cours à une autre chaîne ou à un autre objet. Cette méthode est sensible à l'environnement culturel. Vous pouvez utiliser cette fonction pour comparer deux chaînes ou sous-chaînes de deux chaînes. En outre, des surcharges qui tiennent compte ou non de la casse et des variations de culture sont également fournies. Le tableau suivant énumère les trois valeurs entières qui peuvent être retournées par cette méthode.
Type valeur | Condition |
---|---|
Entier négatif |
strA est inférieur à strB. |
0 |
strA est égal à strB. |
Entier positif - ou - 1 |
Cette instance est supérieure à value. - ou - value est une référence null (Nothing en Visual Basic). |
L'exemple suivant utilise la méthode Compare pour déterminer les valeurs relatives de deux chaînes.
Dim MyString As String = "Hello World!"
Console.WriteLine([String].Compare(MyString, "Hello World?"))
string MyString = "Hello World!";
Console.WriteLine(String.Compare(MyString, "Hello World?"));
Cet exemple affiche -1
dans la console.
L'exemple précédent est dépendant de la culture par défaut. Pour effectuer une comparaison de chaînes indépendante de la culture, utilisez une surcharge de la méthode String.Compare qui vous permet de spécifier la culture à utiliser en fournissant un paramètre culture. Pour obtenir un exemple de code qui montre comment utiliser la méthode String.Compare pour effectuer une comparaison indépendante de la culture, consultez Exécution de comparaisons de chaînes indépendantes de la culture.
CompareOrdinal
La méthode String.CompareOrdinal compare deux objets chaîne sans prendre en considération la culture locale. Les valeurs de retour de cette méthode sont identiques aux valeurs retournées par la méthode Compare dans le tableau précédent.
L'exemple suivant utilise la méthode CompareOrdinal pour comparer les valeurs de deux chaînes.
Dim MyString As String = "Hello World!"
Console.WriteLine(String.CompareOrdinal(MyString, "hello world!"))
string MyString = "Hello World!";
Console.WriteLine(String.CompareOrdinal(MyString, "hello world!"));
Cet exemple affiche -32
dans la console.
CompareTo
La méthode String.CompareTo compare la chaîne que l'objet chaîne en cours encapsule dans une autre chaîne ou dans un autre objet. Les valeurs de retour de cette méthode sont identiques aux valeurs retournées par la méthode Compare dans le tableau précédent.
L'exemple suivant utilise la méthode CompareTo pour comparer l'objet MyString
à l'objet OtherString
.
Dim MyString As String = "Hello World"
Dim OtherString As String = "Hello World!"
Dim MyInt As Integer = MyString.CompareTo(OtherString)
Console.WriteLine(MyInt)
String MyString = "Hello World";
String OtherString = "Hello World!";
int MyInt = MyString.CompareTo(OtherString);
Console.WriteLine( MyInt );
Cet exemple affiche 1
dans la console.
Toutes les surcharges de la méthode String.CompareTo effectuent par défaut des comparaisons dépendantes de la culture et qui respectent la casse. Aucune des surcharges fournies par cette méthode ne vous permet d'effectuer une comparaison indépendante de la culture. Pour la clarté du code, il est recommandé d'utiliser plutôt la méthode String.Compare et de spécifier CultureInfo.CurrentCulture pour des opérations dépendantes de la culture ou CultureInfo.InvariantCulture pour des opérations indépendantes de la culture. Pour obtenir des exemples qui montrent comment utiliser la méthode String.Compare pour effectuer à la fois des comparaisons dépendantes et indépendantes de la culture, consultez Exécution de comparaisons de chaînes indépendantes de la culture.
Equals
La méthode String.Equals peut aisément déterminer si deux chaînes sont identiques. Cette méthode qui respecte la casse retourne une valeur Boolean true ou false. Elle peut être utilisée à partir de la classe existante, comme illustré dans l'exemple suivant. Cet exemple de code suivant utilise la méthode Equals pour déterminer si un objet chaîne contient la phrase « Hello World ».
Dim MyString As String = "Hello World"
Console.WriteLine(MyString.Equals("Hello World"))
string MyString = "Hello World";
Console.WriteLine(MyString.Equals("Hello World"));
Cet exemple affiche True
dans la console.
Cette méthode peut aussi être utilisée comme une méthode statique. L'exemple suivant compare deux objets chaîne en utilisant une méthode statique.
Dim MyString As String = "Hello World"
Dim YourString As String = "Hello World"
Console.WriteLine(String.Equals(MyString, YourString))
string MyString = "Hello World";
string YourString = "Hello World";
Console.WriteLine(String.Equals(MyString, YourString));
Cet exemple affiche True
dans la console.
StartsWith et EndsWith
Vous pouvez utiliser la méthode String.StartsWith pour déterminer si un objet chaîne commence par les mêmes caractères qui entourent une autre chaîne. Cette méthode qui respecte la casse retourne true si l'objet chaîne en cours commence par la chaîne passée et false dans le cas contraire. L'exemple suivant utilise cette méthode pour déterminer si un objet chaîne commence par "Hello".
Dim MyString As String = "Hello World"
Console.WriteLine(MyString.StartsWith("Hello"))
string MyString = "Hello World";
Console.WriteLine(MyString.StartsWith("Hello"));
Cet exemple affiche True
dans la console.
La méthode String.EndsWith compare une chaîne passée aux caractères existant à la fin de l'objet chaîne en cours. Elle retourne également une valeur Boolean. L'exemple suivant teste la fin d'une chaîne à l'aide de la méthode EndsWith.
Dim MyString As String = "Hello World"
Console.WriteLine(MyString.EndsWith("Hello"))
string MyString = "Hello World";
Console.WriteLine(MyString.EndsWith("Hello"));
Cet exemple affiche False
dans la console.
IndexOf et LastIndexOf
Vous pouvez utiliser la méthode String.IndexOf pour déterminer la position de la première occurrence d'un caractère particulier dans une chaîne. Cette méthode qui respecte la casse commence à compter à partir du début d'une chaîne et retourne la position d'un caractère passé en utilisant un index de base zéro. Si le caractère est introuvable, la valeur –1 est retournée.
L'exemple suivant utilise la méthode IndexOf pour rechercher la première occurrence du caractère 'l
' dans une chaîne.
Dim MyString As String = "Hello World"
Console.WriteLine(MyString.IndexOf("l"c))
string MyString = "Hello World";
Console.WriteLine(MyString.IndexOf('l'));
Cet exemple affiche 2
dans la console.
La méthode String.LastIndexOf est similaire à la méthode String.IndexOf à l'exception du fait qu'elle retourne la position de la dernière occurrence d'un caractère particulier dans une chaîne. Elle respecte la casse et utilise un index de base zéro.
L'exemple suivant utilise la méthode LastIndexOf pour rechercher la dernière occurrence du caractère 'l
' dans une chaîne.
Dim MyString As String = "Hello World"
Console.WriteLine(MyString.LastIndexOf("l"c))
string MyString = "Hello World";
Console.WriteLine(MyString.LastIndexOf('l'));
Cet exemple affiche 9
dans la console.
Les deux méthodes sont utiles lorsqu'elles sont associées à la méthode String.Remove. Vous pouvez utiliser les méthodes IndexOf ou LastIndexOf pour récupérer la position d'un caractère et fournir ensuite cette position à la méthode Remove afin de supprimer un caractère ou un mot commençant par ce caractère.
Voir aussi
Autres ressources
Opérations de chaînes de base
Exécution d'opérations de chaînes indépendantes de la culture