String.Contains Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
Contains(String, StringComparison) |
Возвращает значение, указывающее, встречается ли указанная строка внутри этой строки, используя указанные правила сравнения. |
Contains(Char, StringComparison) |
Возвращает значение, указывающее, встречается ли указанный символ внутри этой строки, используя указанные правила сравнения. |
Contains(String) |
Возвращает значение, указывающее, встречается ли указанная подстрока внутри этой строки. |
Contains(Char) |
Возвращает значение, указывающее, встречается ли указанный символ внутри этой строки. |
Contains(String, StringComparison)
- Исходный код:
- String.Searching.cs
- Исходный код:
- String.Searching.cs
- Исходный код:
- String.Searching.cs
Возвращает значение, указывающее, встречается ли указанная строка внутри этой строки, используя указанные правила сравнения.
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
Параметры
- value
- String
Строка для поиска.
- comparisonType
- StringComparison
Одно из значений перечисления, определяющее используемые при сравнении правила.
Возвращаемое значение
true
, если параметр value
встречается в строке или value
является пустой строкой (""); в противном случае — false
.
Применяется к
Contains(Char, StringComparison)
- Исходный код:
- String.Searching.cs
- Исходный код:
- String.Searching.cs
- Исходный код:
- String.Searching.cs
Возвращает значение, указывающее, встречается ли указанный символ внутри этой строки, используя указанные правила сравнения.
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
Параметры
- value
- Char
Символ для поиска.
- comparisonType
- StringComparison
Одно из значений перечисления, определяющее используемые при сравнении правила.
Возвращаемое значение
Значение true
, если параметр value
выполняется внутри этой строки; в противном случае — значение false
.
Применяется к
Contains(String)
- Исходный код:
- String.Searching.cs
- Исходный код:
- String.Searching.cs
- Исходный код:
- String.Searching.cs
Возвращает значение, указывающее, встречается ли указанная подстрока внутри этой строки.
public:
bool Contains(System::String ^ value);
public bool Contains (string value);
member this.Contains : string -> bool
Public Function Contains (value As String) As Boolean
Параметры
- value
- String
Строка для поиска.
Возвращаемое значение
true
, если параметр value
встречается в строке или value
является пустой строкой (""); в противном случае — false
.
Исключения
value
имеет значение null
.
Примеры
В следующем примере определяется, является ли строка fox подстрокой знакомой цитаты. Если в строке есть слово fox, она также отображает ее начальную позицию.
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
Комментарии
Этот метод выполняет порядковый номер (с учетом регистра и без учета языка и региональных параметров). Поиск начинается с первой позиции символа этой строки и продолжается до последней позиции символа.
Чтобы выполнить сравнение с учетом языка и региональных параметров или порядкового номера без учета регистра:
В .NET Core 2.1 и более поздних версиях: вместо этого вызовите перегрузку Contains(String, StringComparison) .
На платформа .NET Framework: Create пользовательский метод. В следующем примере показан один из таких подходов. Он определяет String метод расширения, который включает StringComparison параметр и указывает, содержит ли строка подстроку при использовании указанной формы сравнения строк.
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
Если вас интересует позиция подстроки value
в текущем экземпляре, можно вызвать IndexOf метод , чтобы получить начальную позицию первого вхождения, или метод LastIndexOf , чтобы получить начальную позицию последнего вхождения. Пример включает вызов метода , IndexOf(String) если подстрока найдена в экземпляре строки.
См. также раздел
Применяется к
Contains(Char)
- Исходный код:
- String.Searching.cs
- Исходный код:
- String.Searching.cs
- Исходный код:
- String.Searching.cs
Возвращает значение, указывающее, встречается ли указанный символ внутри этой строки.
public:
bool Contains(char value);
public bool Contains (char value);
member this.Contains : char -> bool
Public Function Contains (value As Char) As Boolean
Параметры
- value
- Char
Символ для поиска.
Возвращаемое значение
Значение true
, если параметр value
выполняется внутри этой строки; в противном случае — значение false
.
Комментарии
Этот метод выполняет порядковый номер (с учетом регистра и без учета языка и региональных параметров).