次の方法で共有


String.IndexOfAny メソッド (Char , Int32)

Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置のインデックスをレポートします。検索は、指定した文字位置から開始されます。

Overloads Public Function IndexOfAny( _
   ByVal anyOf() As Char, _   ByVal startIndex As Integer _) As Integer
[C#]
public int IndexOfAny(char[] anyOf,intstartIndex);
[C++]
public: int IndexOfAny(__wchar_tanyOf __gc[],intstartIndex);
[JScript]
public function IndexOfAny(
   anyOf : Char[],startIndex : int) : int;

パラメータ

  • anyOf
    シークする 1 つ以上の文字を格納している、Unicode 文字の配列。
  • startIndex
    検索が開始される位置。

戻り値

anyOf 内の文字がこのインスタンスで最初に見つかった場所のインデックス位置。 anyOf 内の文字が見つからなかった場合は -1。

例外

例外の種類 条件
ArgumentNullException anyOf が null 参照 (Visual Basic では Nothing) です。
ArgumentOutOfRangeException startIndex が負の値です。

または

startIndex が、このインスタンスの文字数を超えています。

解説

インデックスの番号付けは 0 から始まります。

検索範囲は startIndex から文字列の末尾までです。

anyOf の検索では大文字と小文字が区別されます。

このメソッドは、序数 (カルチャに依存しない) 検索を実行します。この検索方法では、2 つの文字は Unicode スカラ値が等しいときだけ等価と見なされます。カルチャに依存した検索を実行するには、 CompareInfo.IndexOf メソッドを使用します。このメソッドを使用して検索すると、合字の "A" (U+00C6) のような構成済み文字を表す Unicode 値は、'AE' (U+0041, U+0045) のようにその文字の構成要素が正しい順序で出現した場合、これらの構成要素と (カルチャの種類に応じて) 等価と見なされます。

使用例

 
' Sample for String.IndexOfAny(Char[], Int32)
Imports System

Class Sample
   Public Shared Sub Main()
      Dim br1 As String = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
      Dim br2 As String = "0123456789012345678901234567890123456789012345678901234567890123456"
      Dim str As String = "Now is the time for all good men to come to the aid of their party."
      Dim start As Integer
      Dim at As Integer
      Dim target As String = "is"
      Dim anyOf As Char() = target.ToCharArray()
      
      start = str.Length / 2
      Console.WriteLine()
      Console.WriteLine("Search for a character occurrence from position {0} to {1}.", _
                           start, str.Length - 1)
      Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str)
      Console.Write("A character in '{0}' occurs at position: ", target)
      at = str.IndexOfAny(anyOf, start)
      If at > - 1 Then
         Console.Write(at)
      Else
         Console.Write("(not found)")
      End If
      Console.WriteLine()
   End Sub 'Main
End Class 'Sample
'
'
'Search for a character occurrence from position 33 to 66.
'0----+----1----+----2----+----3----+----4----+----5----+----6----+-
'0123456789012345678901234567890123456789012345678901234567890123456
'Now is the time for all good men to come to the aid of their party.
'
'A character in 'is' occurs at position: 49
'

[C#] 
// Sample for String.IndexOfAny(Char[], Int32)
using System;

class Sample {
    public static void Main() 
    {
    string br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-";
    string br2 = "0123456789012345678901234567890123456789012345678901234567890123456";
    string str = "Now is the time for all good men to come to the aid of their party.";
    int start;
    int at;
    string target = "is";
    char[] anyOf = target.ToCharArray();

    start = str.Length/2;
    Console.WriteLine();
    Console.WriteLine("The first character occurrence from position {0} to {1}.", 
                           start, str.Length-1);
    Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
    Console.Write("A character in '{0}' occurs at position: ", target);

    at = str.IndexOfAny(anyOf, start);
    if (at > -1) 
        Console.Write(at);
    else
        Console.Write("(not found)");
    Console.WriteLine();
    }
}
/*

The first character occurrence from position 33 to 66.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

A character in 'is' occurs at position: 49

*/

[C++] 
// Sample for String::IndexOfAny(Char[], Int32)
#using <mscorlib.dll>

using namespace System;

int main() {
   String* br1 = S"0----+----1----+----2----+----3----+----4----+----5----+----6----+-";
   String* br2 = S"0123456789012345678901234567890123456789012345678901234567890123456";
   String* str = S"Now is the time for all good men to come to the aid of their party.";
   int start;
   int at;
   String* target = S"is";
   Char anyOf[] = target->ToCharArray();

   start = str->Length/2;
   Console::WriteLine();
   Console::WriteLine(S"The first character occurrence from position {0} to {1}.",
      __box(start), __box( str->Length-1));
   Console::WriteLine(S"{1}{0}{2}{0}{3}{0}", Environment::NewLine, br1, br2, str);
   Console::Write(S"A character in '{0}' occurs at position: ", target);

   at = str->IndexOfAny(anyOf, start);
   if (at > -1)
      Console::Write(at);
   else
      Console::Write(S"(not found)");
   Console::WriteLine();
}
/*

The first character occurrence from position 33 to 66.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

A character in 'is' occurs at position: 49

*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

String クラス | String メンバ | System 名前空間 | String.IndexOfAny オーバーロードの一覧 | Char | Int32 | Array | IndexOf | LastIndexOf | LastIndexOfAny