String.Contains Método

Definição

Sobrecargas

Contains(Char)

Retorna um valor que indica se um caractere especificado ocorre nessa cadeia de caracteres.

Contains(String)

Retorna um valor que indica se uma subcadeia especificada ocorre nesta cadeia de caracteres.

Contains(Char, StringComparison)

Retorna um valor que indica se um caractere especificado ocorre nessa cadeia de caracteres, usando as regras de comparação especificadas.

Contains(String, StringComparison)

Retorna um valor que indica se uma cadeia de caracteres especificada ocorre nessa cadeia de caracteres, usando as regras de comparação especificadas.

Contains(Char)

Retorna um valor que indica se um caractere especificado ocorre nessa cadeia de caracteres.

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

Parâmetros

value
Char

O caractere a buscar.

Retornos

true se o parâmetro value ocorrer dentro dessa instância; caso contrário, false.

Comentários

Este método executa uma comparação ordinal (diferencia maiúsculas de minúsculas e insensível à cultura).

Aplica-se a

Contains(String)

Retorna um valor que indica se uma subcadeia especificada ocorre nesta cadeia de caracteres.

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

Parâmetros

value
String

A cadeia de caracteres a ser buscada.

Retornos

true se o parâmetro value ocorrer nesta cadeia de caracteres, ou se value for a cadeia de caracteres vazia (""); caso contrário, false.

Exceções

value é null.

Exemplos

O exemplo a seguir determina se a cadeia de caracteres "fox" é uma subcadeia de caracteres de uma aspa familiar. Se "fox" for encontrado na cadeia de caracteres, ele também exibirá sua posição inicial.

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

Comentários

Este método executa uma comparação ordinal (diferencia maiúsculas de minúsculas e insensível à cultura). A pesquisa começa na primeira posição de caractere dessa cadeia de caracteres e continua até a última posição do caractere.

Para executar uma comparação diferenciada de maiúsculas e minúsculas ou ordinal:

  • No .NET Core 2.1 e versões posteriores: chame a Contains(String, StringComparison) sobrecarga.

  • Em .NET Framework: crie um método personalizado. O exemplo a seguir ilustra uma dessas abordagens. Ele define um String método de extensão que inclui um StringComparison parâmetro e indica se uma cadeia de caracteres contém uma subcadeia de caracteres ao usar a forma especificada de comparação de cadeia de caracteres.

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

Se você estiver interessado na posição da subcadeia de caracteres value na instância atual, poderá chamar o IndexOf método para obter a posição inicial de sua primeira ocorrência ou pode chamar o LastIndexOf método para obter a posição inicial de sua última ocorrência. O exemplo inclui uma chamada para o IndexOf(String) método se uma subcadeia de caracteres for encontrada em uma instância de cadeia de caracteres.

Confira também

Aplica-se a

Contains(Char, StringComparison)

Retorna um valor que indica se um caractere especificado ocorre nessa cadeia de caracteres, usando as regras de comparação especificadas.

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

Parâmetros

value
Char

O caractere a buscar.

comparisonType
StringComparison

Um dos valores de enumeração que especifica as regras a serem usadas na comparação.

Retornos

true se o parâmetro value ocorrer dentro dessa instância; caso contrário, false.

Aplica-se a

Contains(String, StringComparison)

Retorna um valor que indica se uma cadeia de caracteres especificada ocorre nessa cadeia de caracteres, usando as regras de comparação especificadas.

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

Parâmetros

value
String

A cadeia de caracteres a ser buscada.

comparisonType
StringComparison

Um dos valores de enumeração que especifica as regras a serem usadas na comparação.

Retornos

true se o parâmetro value ocorrer nesta cadeia de caracteres, ou se value for a cadeia de caracteres vazia (""); caso contrário, false.

Aplica-se a