String.Contains Metoda

Definicja

Przeciążenia

Contains(Char)

Zwraca wartość wskazującą, czy określony znak występuje w tym ciągu.

Contains(String)

Zwraca wartość wskazującą, czy określony podciąg występuje w tym ciągu.

Contains(Char, StringComparison)

Zwraca wartość wskazującą, czy określony znak występuje w tym ciągu przy użyciu określonych reguł porównania.

Contains(String, StringComparison)

Zwraca wartość wskazującą, czy określony ciąg występuje w tym ciągu przy użyciu określonych reguł porównania.

Contains(Char)

Źródło:
String.Searching.cs
Źródło:
String.Searching.cs
Źródło:
String.Searching.cs

Zwraca wartość wskazującą, czy określony znak występuje w tym ciągu.

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

Parametry

value
Char

Znak do wyszukiwania.

Zwraca

truevalue jeśli parametr występuje w tym ciągu; w przeciwnym razie false.

Uwagi

Ta metoda wykonuje porównanie porządkowe (wielkość liter i niewrażliwość na ustawienia kulturowe).

Dotyczy

Contains(String)

Źródło:
String.Searching.cs
Źródło:
String.Searching.cs
Źródło:
String.Searching.cs

Zwraca wartość wskazującą, czy określony podciąg występuje w tym ciągu.

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

Parametry

value
String

Ciąg do wyszukania.

Zwraca

truevalue jeśli parametr występuje w tym ciągu lub jeśli value jest pusty ciąg (""); w przeciwnym razie , false.

Wyjątki

value to null.

Przykłady

Poniższy przykład określa, czy ciąg "fox" jest podciągem znanego cudzysłowu. Jeśli ciąg "fox" zostanie znaleziony, wyświetla również jego pozycję początkową.

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

Uwagi

Ta metoda wykonuje porównanie porządkowe (wielkość liter i niewrażliwość na ustawienia kulturowe). Wyszukiwanie rozpoczyna się od pierwszego położenia tego ciągu i przechodzi przez ostatnią pozycję znaku.

Aby wykonać porównanie bez uwzględniania wielkości liter w kulturze lub porządkowej:

  • Na platformie .NET Core 2.1 i nowszych wersjach: wywołaj Contains(String, StringComparison) przeciążenie.

  • Na .NET Framework: Utwórz metodę niestandardową. Poniższy przykład ilustruje jedno z takich podejść. Definiuje metodę StringStringComparison rozszerzenia, która zawiera parametr i wskazuje, czy ciąg zawiera podciąg podczas korzystania z określonej formy porównania ciągów.

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

Jeśli interesuje Cię pozycja podciągów value w bieżącym wystąpieniu, możesz wywołać IndexOfLastIndexOf metodę , aby uzyskać pozycję początkową pierwszego wystąpienia, lub wywołać metodę , aby uzyskać pozycję początkową ostatniego wystąpienia. Przykład zawiera wywołanie IndexOf(String) metody, jeśli podciąg zostanie znaleziony w wystąpieniu ciągu.

Zobacz też

Dotyczy

Contains(Char, StringComparison)

Źródło:
String.Searching.cs
Źródło:
String.Searching.cs
Źródło:
String.Searching.cs

Zwraca wartość wskazującą, czy określony znak występuje w tym ciągu przy użyciu określonych reguł porównania.

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

Parametry

value
Char

Znak do wyszukiwania.

comparisonType
StringComparison

Jedna z wartości wyliczenia, która określa reguły do użycia w porównaniu.

Zwraca

truevalue jeśli parametr występuje w tym ciągu; w przeciwnym razie false.

Dotyczy

Contains(String, StringComparison)

Źródło:
String.Searching.cs
Źródło:
String.Searching.cs
Źródło:
String.Searching.cs

Zwraca wartość wskazującą, czy określony ciąg występuje w tym ciągu przy użyciu określonych reguł porównania.

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

Parametry

value
String

Ciąg do wyszukania.

comparisonType
StringComparison

Jedna z wartości wyliczenia, która określa reguły do użycia w porównaniu.

Zwraca

truevalue jeśli parametr występuje w tym ciągu lub jeśli value jest pusty ciąg (""); w przeciwnym razie , false.

Dotyczy