String.Contains 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
Contains(String, StringComparison) |
使用指定的比較規則傳回值,這個值表示指定的字串是否會出現在這個字串內。 |
Contains(Char, StringComparison) |
使用指定的比較規則傳回值,這個值表示指定的字元是否會出現在這個字串內。 |
Contains(String) |
傳回值,這個值表示指定的子字串是否會出現在這個字串內。 |
Contains(Char) |
傳回值,這個值表示指定的字元是否會出現在這個字串內。 |
Contains(String, StringComparison)
使用指定的比較規則傳回值,這個值表示指定的字串是否會出現在這個字串內。
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)
使用指定的比較規則傳回值,這個值表示指定的字元是否會出現在這個字串內。
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
其中一個列舉值,指定要用於比較的規則。
傳回
如果 value
參數出現在此字串內,則為 true
;否則為 false
。
適用於
Contains(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
參數
- 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)
傳回值,這個值表示指定的字元是否會出現在這個字串內。
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
要搜尋的字元。
傳回
如果 value
參數出現在此字串內,則為 true
;否則為 false
。
備註
這個方法會執行序數 (區分大小寫且不區分文化特性) 比較。