String.Contains Methode

Definition

Überlädt

Contains(Char)

Gibt einen Wert zurück, der angibt, ob ein angegebenes Zeichen in dieser Zeichenfolge vorkommt.

Contains(String)

Gibt einen Wert zurück, der angibt, ob eine angegebene untergeordnete Zeichenfolge in dieser Zeichenfolge vorkommt.

Contains(Char, StringComparison)

Gibt mithilfe der festgelegten Vergleichsregeln einen Wert zurück, der angibt, ob ein angegebenes Zeichen innerhalb der Zeichenfolge auftritt.

Contains(String, StringComparison)

Gibt mithilfe der festgelegten Vergleichsregeln einen Wert zurück, der angibt, ob eine angegebene Zeichenfolge innerhalb der Zeichenfolge auftritt.

Contains(Char)

Gibt einen Wert zurück, der angibt, ob ein angegebenes Zeichen in dieser Zeichenfolge vorkommt.

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

Parameter

value
Char

Das zu suchende Zeichen.

Gibt zurück

Boolean

true, wenn der value-Parameter innerhalb dieser Zeichenfolge auftritt, andernfalls false.

Hinweise

Diese Methode führt einen Ordinalvergleich (Groß-/Kleinschreibung und Kultur-Insensitive) aus.

Gilt für:

Contains(String)

Gibt einen Wert zurück, der angibt, ob eine angegebene untergeordnete Zeichenfolge in dieser Zeichenfolge vorkommt.

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

Parameter

value
String

Die zu suchende Zeichenfolge.

Gibt zurück

Boolean

true, wenn der value-Parameter in dieser Zeichenfolge vorkommt oder value eine leere Zeichenfolge ("") ist; andernfalls false.

Ausnahmen

value ist null.

Beispiele

Im folgenden Beispiel wird bestimmt, ob die Zeichenfolge "fox" eine Teilzeichenfolge eines vertrauten Anführungszeichens ist. Wenn "fox" in der Zeichenfolge gefunden wird, wird auch seine Anfangsposition angezeigt.

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

Hinweise

Diese Methode führt einen Ordinalvergleich (Groß-/Kleinschreibung und Kultur-Insensitive) aus. Die Suche beginnt an der ersten Zeichenposition dieser Zeichenfolge und wird durch die letzte Zeichenposition fortgesetzt.

So führen Sie einen kulturempfindlichen oder ordinalen Vergleich zwischen Groß- und Kleinschreibung aus:

  • Rufen Sie stattdessen die Contains(String, StringComparison) Überladung in .NET Core 2.1 und höher auf.

  • Auf .NET Framework: Erstellen einer benutzerdefinierten Methode. Im folgenden Beispiel wird ein solcher Ansatz veranschaulicht. Es definiert eine String Erweiterungsmethode, die einen StringComparison Parameter enthält und angibt, ob eine Zeichenfolge eine Teilzeichenfolge enthält, wenn Sie die angegebene Form des Zeichenfolgenvergleichs verwenden.

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

Wenn Sie an der Position der Teilzeichenfolge value in der aktuellen Instanz interessiert sind, können Sie die IndexOf Methode aufrufen, um die Anfangsposition des ersten Vorkommens abzurufen, oder Sie können die LastIndexOf Methode aufrufen, um die Anfangsposition des letzten Vorkommens abzurufen. Das Beispiel enthält einen Aufruf der IndexOf(String) Methode, wenn eine Teilzeichenfolge in einer Zeichenfolgeninstanz gefunden wird.

Siehe auch

Gilt für:

Contains(Char, StringComparison)

Gibt mithilfe der festgelegten Vergleichsregeln einen Wert zurück, der angibt, ob ein angegebenes Zeichen innerhalb der Zeichenfolge auftritt.

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

Parameter

value
Char

Das zu suchende Zeichen.

comparisonType
StringComparison

Einer der Enumerationswerte, der die für den Vergleich zu verwendenden Regeln angibt.

Gibt zurück

Boolean

true, wenn der value-Parameter innerhalb dieser Zeichenfolge auftritt, andernfalls false.

Gilt für:

Contains(String, StringComparison)

Gibt mithilfe der festgelegten Vergleichsregeln einen Wert zurück, der angibt, ob eine angegebene Zeichenfolge innerhalb der Zeichenfolge auftritt.

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

Parameter

value
String

Die zu suchende Zeichenfolge.

comparisonType
StringComparison

Einer der Enumerationswerte, der die für den Vergleich zu verwendenden Regeln angibt.

Gibt zurück

Boolean

true, wenn der value-Parameter in dieser Zeichenfolge vorkommt oder value eine leere Zeichenfolge ("") ist; andernfalls false.

Gilt für: