String.Contains Méthode

Définition

Surcharges

Contains(Char)

Retourne une valeur qui indique si le caractère spécifié se trouve dans cette chaîne.

Contains(String)

Retourne une valeur qui indique si la sous-chaîne spécifiée apparaît dans cette chaîne.

Contains(Char, StringComparison)

Retourne une valeur qui indique si le caractère spécifié se trouve dans cette chaîne, en utilisant les règles de comparaison spécifiées.

Contains(String, StringComparison)

Retourne une valeur qui indique si la chaîne spécifiée se trouve dans cette chaîne, en utilisant les règles de comparaison spécifiées.

Contains(Char)

Retourne une valeur qui indique si le caractère spécifié se trouve dans cette chaîne.

public:
 bool Contains(char value);
public bool Contains (char value);
member this.Contains : char -> bool
Public Function Contains (value As Char) As Boolean

Paramètres

value
Char

Caractère à rechercher.

Retours

true si le paramètre value se trouve dans cette chaîne ; sinon, false.

Remarques

Cette méthode effectue une comparaison ordinale (respectant la casse et ne respectant pas la culture).

S’applique à

Contains(String)

Retourne une valeur qui indique si la sous-chaîne spécifiée apparaît dans cette chaîne.

public:
 bool Contains(System::String ^ value);
public bool Contains (string value);
member this.Contains : string -> bool
Public Function Contains (value As String) As Boolean

Paramètres

value
String

Chaîne à rechercher.

Retours

true si le paramètre value apparaît dans cette chaîne, ou si value est la chaîne vide ("") ; sinon, false.

Exceptions

value est null.

Exemples

L’exemple suivant détermine si la chaîne « fox » est une sous-chaîne d’une citation familière. Si « fox » se trouve dans la chaîne, elle affiche également sa position de départ.

using namespace System;

int main()
{
   String^ s1 = "The quick brown fox jumps over the lazy dog";
   String^ s2 = "fox";
   bool b = s1->Contains( s2 );
   Console::WriteLine( "Is the string, s2, in the string, s1?: {0}", b );
   if (b) {
      int index = s1->IndexOf(s2);
      if (index >= 0)
         Console::WriteLine("'{0} begins at character position {1}",
                            s2, index + 1);
   }
}
// This example displays the following output:
//    'fox' is in the string 'The quick brown fox jumps over the lazy dog': True
//    'fox begins at character position 17
string s1 = "The quick brown fox jumps over the lazy dog";
string s2 = "fox";
bool b = s1.Contains(s2);
Console.WriteLine("'{0}' is in the string '{1}': {2}",
                s2, s1, b);
if (b) {
    int index = s1.IndexOf(s2);
    if (index >= 0)
        Console.WriteLine("'{0} begins at character position {1}",
                      s2, index + 1);
}
// This example displays the following output:
//    'fox' is in the string 'The quick brown fox jumps over the lazy dog': True
//    'fox begins at character position 17
let s1 = "The quick brown fox jumps over the lazy dog"
let s2 = "fox"
let b = s1.Contains s2
printfn $"'{s2}' is in the string '{s1}': {b}"
if b then
    let index = s1.IndexOf s2
    if index >= 0 then
        printfn $"'{s2} begins at character position {index + 1}"
// This example displays the following output:
//    'fox' is in the string 'The quick brown fox jumps over the lazy dog': True
//    'fox begins at character position 17
Class Example
   Public Shared Sub Main()
      Dim s1 As String = "The quick brown fox jumps over the lazy dog"
      Dim s2 As String = "fox"
      Dim b As Boolean = s1.Contains(s2)
      Console.WriteLine("'{0}' is in the string '{1}': {2}",
                        s2, s1, b)
      If b Then
          Dim index As Integer = s1.IndexOf(s2)
          If index >= 0 Then
             Console.WriteLine("'{0} begins at character position {1}",
                               s2, index + 1)
          End If
       End If
   End Sub
End Class
'
' This example displays the following output:
'    'fox' is in the string 'The quick brown fox jumps over the lazy dog': True
'    'fox begins at character position 17

Remarques

Cette méthode effectue une comparaison ordinale (respectant la casse et ne respectant pas la culture). La recherche commence à la première position de caractère de cette chaîne et se poursuit jusqu’à la dernière position de caractère.

Pour effectuer une comparaison respectant la culture ou la casse ordinale :

  • Sur .NET Core 2.1 et versions ultérieures : appelez plutôt la Contains(String, StringComparison) surcharge.

  • Sur .NET Framework : créez une méthode personnalisée. L’exemple suivant illustre une telle approche. Il définit une méthode d’extension String qui inclut un StringComparison paramètre et indique si une chaîne contient une sous-chaîne lors de l’utilisation de la forme spécifiée de comparaison de chaînes.

using System;

public static class StringExtensions
{
   public static bool Contains(this String str, String substring, 
                               StringComparison comp)
   {                            
        if (substring == null)
            throw new ArgumentNullException("substring", 
                                         "substring cannot be null.");
        else if (! Enum.IsDefined(typeof(StringComparison), comp))
            throw new ArgumentException("comp is not a member of StringComparison",
                                     "comp");

        return str.IndexOf(substring, comp) >= 0;                      
   }
}
open System
open System.Runtime.CompilerServices

[<Extension>]
type StringExtensions =
    [<Extension>]
    static member Contains(str: string, substring, comp: StringComparison) =
        if substring = null then
            invalidArg "substring" "substring cannot be null"
        if Enum.IsDefined(typeof<StringComparison>, comp) |> not then
            invalidArg "comp" "comp is not a member of StringComparison"
        str.IndexOf(substring, comp) >= 0
String s = "This is a string.";
String sub1 = "this";
Console.WriteLine("Does '{0}' contain '{1}'?", s, sub1);
StringComparison comp = StringComparison.Ordinal;
Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp));

comp = StringComparison.OrdinalIgnoreCase;
Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp));

// The example displays the following output:
//       Does 'This is a string.' contain 'this'?
//          Ordinal: False
//          OrdinalIgnoreCase: True
let s = "This is a string."
let sub1 = "this"
printfn $"Does '{s}' contain '{sub1}'?"
let comp = StringComparison.Ordinal
printfn $"   {comp:G}: {s.Contains(sub1, comp)}"

let comp2 = StringComparison.OrdinalIgnoreCase
printfn $"   {comp2:G}: {s.Contains(sub1, comp2)}"

// The example displays the following output:
//       Does 'This is a string.' contain 'this'?
//          Ordinal: False
//          OrdinalIgnoreCase: True
Imports System.Runtime.CompilerServices

Module StringExtensions
   <Extension()>
   Public Function Contains(str As String, substring As String, 
                            comp As StringComparison) As Boolean
      If substring Is Nothing Then
         Throw New ArgumentNullException("substring", 
                                         "substring cannot be null.")
      Else If Not [Enum].IsDefined(GetType(StringComparison), comp)
         Throw New ArgumentException("comp is not a member of StringComparison",
                                     "comp")
      End If                               
      Return str.IndexOf(substring, comp) >= 0                      
   End Function
End Module
Public Module Example
   Public Sub Main
      Dim s As String = "This is a string."
      Dim sub1 As String = "this"
      Console.WriteLine("Does '{0}' contain '{1}'?", s, sub1)
      Dim comp As StringComparison = StringComparison.Ordinal
      Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp))
      
      comp = StringComparison.OrdinalIgnoreCase
      Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp))
   End Sub
End Module
' The example displays the following output:
'       Does 'This is a string.' contain 'this'?
'          Ordinal: False
'          OrdinalIgnoreCase: True

Si vous êtes intéressé par la position de la sous-chaîne value dans le instance actuel, vous pouvez appeler la IndexOf méthode pour obtenir la position de départ de sa première occurrence, ou vous pouvez appeler la LastIndexOf méthode pour obtenir la position de départ de sa dernière occurrence. L’exemple inclut un appel à la IndexOf(String) méthode si une sous-chaîne se trouve dans une chaîne instance.

Voir aussi

S’applique à

Contains(Char, StringComparison)

Retourne une valeur qui indique si le caractère spécifié se trouve dans cette chaîne, en utilisant les règles de comparaison spécifiées.

public:
 bool Contains(char value, StringComparison comparisonType);
public bool Contains (char value, StringComparison comparisonType);
member this.Contains : char * StringComparison -> bool
Public Function Contains (value As Char, comparisonType As StringComparison) As Boolean

Paramètres

value
Char

Caractère à rechercher.

comparisonType
StringComparison

Une des valeurs d'énumération qui spécifie les règles à utiliser dans la comparaison.

Retours

true si le paramètre value se trouve dans cette chaîne ; sinon, false.

S’applique à

Contains(String, StringComparison)

Retourne une valeur qui indique si la chaîne spécifiée se trouve dans cette chaîne, en utilisant les règles de comparaison spécifiées.

public:
 bool Contains(System::String ^ value, StringComparison comparisonType);
public bool Contains (string value, StringComparison comparisonType);
member this.Contains : string * StringComparison -> bool
Public Function Contains (value As String, comparisonType As StringComparison) As Boolean

Paramètres

value
String

Chaîne à rechercher.

comparisonType
StringComparison

Une des valeurs d'énumération qui spécifie les règles à utiliser dans la comparaison.

Retours

true si le paramètre value apparaît dans cette chaîne, ou si value est la chaîne vide ("") ; sinon, false.

S’applique à