この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

String.IndexOf メソッド (String)

 

公開日: 2016年11月

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

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

public int IndexOf(
	string value
)

パラメーター

value
Type: System.String

シークする文字列。

戻り値

Type: System.Int32

その文字列が見つかった場合は、value の 0 から始まるインデックスでの位置。見つからなかった場合は -1。 valueString.Empty の場合、戻り値は 0 です。

Exception Condition
ArgumentNullException

valuenull です。

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

このメソッドは、現在のカルチャを使用して単語 (大文字小文字を区別やカルチャ) 検索を実行します。 検索は、このインスタンスの最初の文字位置から開始され、最後の文字位置まで継続されます。

文字セットには無視できる文字が含まれています。これらの文字は、言語またはカルチャに依存した比較を実行する際には考慮されません。 カルチャに依存した検索では、value に無視できる文字が含まれている場合、その文字を削除して検索した場合と同じ結果になります。 場合value1 つまたは複数の無視できる文字のみで構成されて、IndexOf(String)メソッドは常に現在のインスタンスの先頭に一致が見つかったことを示すために 0 (ゼロ) を返します。 次の例で、IndexOf(String)を 2 つの文字列 (ソフト ハイフン (U +0 00AD)、"n"で後にソフト ハイフンおよびにソフト ハイフンの後に"m") の 3 つの部分文字列を検索するメソッドを使用します。 文字列の 1 つのみにソフト ハイフンが含まれます。 この例を実行している場合、.NET Framework 4後で、各ケースではソフト ハイフンに無視できる文字であるため、結果は、場合と同じにソフト ハイフンが含まれていない必要があるかvalueです。 ソフト ハイフンのみを検索するときに、このメソッドは、文字列の先頭に一致するものを発見したを示すために 0 (ゼロ) を返します。

using System;

public class Example
{
   public static void Main()
   {
      string s1 = "ani\u00ADmal";
      string s2 = "animal";

      // Find the index of the soft hyphen.
      Console.WriteLine(s1.IndexOf("\u00AD"));
      Console.WriteLine(s2.IndexOf("\u00AD"));

      // Find the index of the soft hyphen followed by "n".
      Console.WriteLine(s1.IndexOf("\u00ADn"));
      Console.WriteLine(s2.IndexOf("\u00ADn"));

      // Find the index of the soft hyphen followed by "m".
      Console.WriteLine(s1.IndexOf("\u00ADm"));
      Console.WriteLine(s2.IndexOf("\u00ADm"));
   }
}
// The example displays the following output
// if run under the .NET Framework 4 or later:
//       0
//       0
//       1
//       1
//       4
//       3

呼び出し時の注意:

説明したよう.NET Framework で文字列を使用するためのベスト プラクティス既定値を代入し、代わりにパラメーターを明示的に指定する必要のあるメソッドを呼び出して文字列比較メソッドを呼び出さないようにすることをお勧めします。 文字列インスタンス内の部分文字列の最初のインデックスを検索するには、現在のカルチャの比較規則を使用して、呼び出して、IndexOf(String, StringComparison)の値を持つメソッド オーバー ロードStringComparison.CurrentCulturecomparisonTypeパラメーター。

次の例は、「動物」で"n"を検索します。 文字列のインデックスは、1 つではなく、0 から始まるため、IndexOf(String)メソッドでは、"n"が、位置 1 ことを示します。

using System;

public class Example
{
   public static void Main()
   {
      String str = "animal";
      String toFind = "n";
      int index = str.IndexOf("n");
      Console.WriteLine("Found '{0}' in '{1}' at position {2}",
                        toFind, str, index);
   }
}
// The example displays the following output:
//        Found 'n' in 'animal' at position 1

次の例では、IndexOf文で動物名の開始位置を決定するメソッド。 この位置を使用して、文に動物を説明する形容詞を挿入します。

using System;

public class Example {
    public static void Main() 
    {
        string animal1 = "fox";
        string animal2 = "dog";

        string strTarget = String.Format("The {0} jumped over the {1}.", 
                                         animal1, animal2);

        Console.WriteLine("The original string is:{0}{1}{0}", 
                          Environment.NewLine, strTarget);

        Console.Write("Enter an adjective (or group of adjectives) " +
                      "to describe the {0}: ==> ", animal1);
        string adj1 = Console.ReadLine();

        Console.Write("Enter an adjective (or group of adjectives) " + 
                      "to describe the {0}: ==> ", animal2);    
        string adj2 = Console.ReadLine();

        adj1 = adj1.Trim() + " ";
        adj2 = adj2.Trim() + " ";

        strTarget = strTarget.Insert(strTarget.IndexOf(animal1), adj1);
        strTarget = strTarget.Insert(strTarget.IndexOf(animal2), adj2);

        Console.WriteLine("{0}The final string is:{0}{1}", 
                          Environment.NewLine, strTarget);
    }
}
// Output from the example might appear as follows:
//       The original string is:
//       The fox jumped over the dog.
//       
//       Enter an adjective (or group of adjectives) to describe the fox: ==> bold
//       Enter an adjective (or group of adjectives) to describe the dog: ==> lazy
//       
//       The final string is:
//       The bold fox jumped over the lazy dog.

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
1.1 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: