Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

String.Contains Method

Definition

Namespace:
System
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Runtime.dll
Assembly:
netstandard.dll
Assemblies:
mscorlib.dll, System.Runtime.dll
Assembly:
mscorlib.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Overloads

Name Description
Contains(Rune, StringComparison)
Contains(String, StringComparison)

Returns a value indicating whether a specified string occurs within this string, using the specified comparison rules.

Contains(Char, StringComparison)

Returns a value indicating whether a specified character occurs within this string, using the specified comparison rules.

Contains(String)

Returns a value indicating whether a specified substring occurs within this string.

Contains(Char)

Returns a value indicating whether a specified character occurs within this string.

Contains(Rune)

Contains(Rune, StringComparison)

Source:
String.Searching.cs
public:
 bool Contains(System::Text::Rune value, StringComparison comparisonType);
public bool Contains(System.Text.Rune value, StringComparison comparisonType);
member this.Contains : System.Text.Rune * StringComparison -> bool
Public Function Contains (value As Rune, comparisonType As StringComparison) As Boolean

Parameters

value
Rune
comparisonType
StringComparison

Returns

Applies to

Contains(String, StringComparison)

Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs

Returns a value indicating whether a specified string occurs within this string, using the specified comparison rules.

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

Parameters

value
String

The string to seek.

comparisonType
StringComparison

One of the enumeration values that specifies the rules to use in the comparison.

Returns

true if the value parameter occurs within this string, or if value is the empty string (""); otherwise, false.

Applies to

Contains(Char, StringComparison)

Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs

Returns a value indicating whether a specified character occurs within this string, using the specified comparison rules.

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

Parameters

value
Char

The character to seek.

comparisonType
StringComparison

One of the enumeration values that specifies the rules to use in the comparison.

Returns

true if the value parameter occurs within this string; otherwise, false.

Applies to

Contains(String)

Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs

Returns a value indicating whether a specified substring occurs within this string.

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

Parameters

value
String

The string to seek.

Returns

true if the value parameter occurs within this string, or if value is the empty string (""); otherwise, false.

Exceptions

value is null.

Examples

The following example determines whether the string "fox" is a substring of a familiar quotation. If "fox" is found in the string, it also displays its starting position.

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

Remarks

This method performs an ordinal (case-sensitive and culture-insensitive) comparison. The search begins at the first character position of this string and continues through the last character position.

To perform a culture-sensitive or ordinal case-insensitive comparison:

  • On .NET Core 2.1 and later versions: Call the Contains(String, StringComparison) overload instead.

  • On .NET Framework: Create a custom method. The following example illustrates one such approach. It defines a String extension method that includes a StringComparison parameter and indicates whether a string contains a substring when using the specified form of string comparison.

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

If you are interested in the position of the substring value in the current instance, you can call the IndexOf method to get the starting position of its first occurrence, or you can call the LastIndexOf method to get the starting position of its last occurrence. The example includes a call to the IndexOf(String) method if a substring is found in a string instance.

See also

Applies to

Contains(Char)

Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs
Source:
String.Searching.cs

Returns a value indicating whether a specified character occurs within this string.

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

Parameters

value
Char

The character to seek.

Returns

true if the value parameter occurs within this string; otherwise, false.

Remarks

This method performs an ordinal (case-sensitive and culture-insensitive) comparison.

Applies to

Contains(Rune)

Source:
String.Searching.cs
public:
 bool Contains(System::Text::Rune value);
public bool Contains(System.Text.Rune value);
member this.Contains : System.Text.Rune -> bool
Public Function Contains (value As Rune) As Boolean

Parameters

value
Rune

Returns

Applies to


Feedback

Was this page helpful?