String.Contains メソッド

定義

オーバーロード

Contains(Char, StringComparison)

指定された比較規則を使用して、指定された文字がこの文字列内に含まれるかどうかを示す値を返します。Returns a value indicating whether a specified character occurs within this string, using the specified comparison rules.

Contains(Char)

指定した文字がこの文字列内に存在するかどうかを示す値を返します。Returns a value indicating whether a specified character occurs within this string.

Contains(String)

指定した部分文字列がこの文字列内に存在するかどうかを示す値を返します。Returns a value indicating whether a specified substring occurs within this string.

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.

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

検索対象の文字。The character to seek.

comparisonType
StringComparison

比較で使用する規則を指定する列挙値の 1 つ。One of the enumeration values that specifies the rules to use in the comparison.

戻り値

value パラメーターがこの文字列内で発生する場合は true。それ以外の場合は falsetrue if the value parameter occurs within this string; otherwise, false.

Contains(Char)

指定した文字がこの文字列内に存在するかどうかを示す値を返します。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

パラメーター

value
Char

検索対象の文字。The character to seek.

戻り値

value パラメーターがこの文字列内で発生する場合は true。それ以外の場合は falsetrue if the value parameter occurs within this string; otherwise, false.

Contains(String)

指定した部分文字列がこの文字列内に存在するかどうかを示す値を返します。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

パラメーター

value
String

シークする文字列。The string to seek.

戻り値

value パラメーターがこの文字列内に存在するか、value が空の文字列 ("") の場合は true。それ以外の場合は falsetrue if the value parameter occurs within this string, or if value is the empty string (""); otherwise, false.

例外

valuenull です。value is null.

次の例では、文字列 "fox" が、使い慣れた引用符の部分文字列であるかどうかを判断します。The following example determines whether the string "fox" is a substring of a familiar quotation. 文字列内に "fox" が見つかった場合は、その開始位置も表示されます。If "fox" is found in the string, it also displays its starting position.

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 display 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

注釈

このメソッドは、序数 (大文字と小文字を区別し、カルチャに依存しない) の比較を実行します。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 determine whether a string contains a specified substring by using something other than ordinal comparison (such as culture-sensitive comparison, or ordinal case-insensitive comparison), you can create a custom method. このような方法の例を次に示します。The following example illustrates one such approach. これは、StringComparison パラメーターを含む String 拡張メソッドを定義し、指定された形式の文字列比較を使用する場合に文字列に部分文字列が含まれるかどうかを示します。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;                      
   }
}
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

次の例では、Contains 拡張メソッドを呼び出して、序数による比較と大文字と小文字を区別しない序数比較を使用する場合に、文字列内で部分文字列が見つかったかどうかを判断します。The following example then calls the Contains extension method to determine whether a substring is found in a string when using ordinal comparison and case-insensitive ordinal comparison.

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
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 メソッドを呼び出して、最後に出現する位置を取得することもできます。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. この例では、文字列インスタンスで部分文字列が見つかった場合の IndexOf(String) メソッドの呼び出しが含まれています。The example includes a call to the IndexOf(String) method if a substring is found in a string instance.

こちらもご覧ください

Contains(String, StringComparison)

指定された比較規則を使用して、指定された文字列がこの文字列内に含まれるかどうかを示す値を返します。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

パラメーター

value
String

シークする文字列。The string to seek.

comparisonType
StringComparison

比較で使用する規則を指定する列挙値の 1 つ。One of the enumeration values that specifies the rules to use in the comparison.

戻り値

value パラメーターがこの文字列内に存在するか、value が空の文字列 ("") の場合は true。それ以外の場合は falsetrue if the value parameter occurs within this string, or if value is the empty string (""); otherwise, false.

適用対象