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

String.LastIndexOf メソッド (String)

 

公開日: 2016年10月

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

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

public int LastIndexOf(
	string value
)

パラメーター

value
Type: System.String

シークする文字列。

戻り値

Type: System.Int32

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

Exception Condition
ArgumentNullException

valuenull です。

インデックス番号は、0 から始まります。 つまり、文字列の最初の文字インデックス 0 の位置は、最後にLength- 1。

検索は、このインスタンスの最後の文字位置から開始され、されるまで、先頭に向かって逆方向に進みますvalueが見つかった最初の文字位置が検査されているか。

このメソッドは、単語 (大文字小文字を区別やカルチャ) を現在のカルチャを使用して検索を実行します。

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

using System;

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

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

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

      // Find the index of the last soft hyphen followed by "m".
      Console.WriteLine(s1.LastIndexOf("\u00ADm"));
      Console.WriteLine(s2.LastIndexOf("\u00ADm"));
   }
}
// The example displays the following output:
//       6
//       5
//       1
//       1
//       4
//       3

呼び出し時の注意:

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

次の例では、タグと終了タグで開始する場合、文字列および文字列の末尾から HTML タグを削除します。 場合は、文字列が終わりで終わる文字を角かっこ (">")、この例では、LastIndexOfメソッド終了タグの開始位置をします。

using System;

public class Example 
{
   public static void Main() 
   {
      string[] strSource = { "<b>This is bold text</b>", "<H1>This is large Text</H1>",
               "<b><i><font color=green>This has multiple tags</font></i></b>",
               "<b>This has <i>embedded</i> tags.</b>",
               "This line ends with a greater than symbol and should not be modified>" };

      // Strip HTML start and end tags from each string if they are present.
      foreach (string s in strSource)
      {
         Console.WriteLine("Before: " + s);
         string item = s;
         // Use EndsWith to find a tag at the end of the line.
         if (item.Trim().EndsWith(">")) 
         {
            // Locate the opening tag.
            int endTagStartPosition = item.LastIndexOf("</");
            // Remove the identified section, if it is valid.
            if (endTagStartPosition >= 0 )
               item = item.Substring(0, endTagStartPosition);

            // Use StartsWith to find the opening tag.
            if (item.Trim().StartsWith("<"))
            {
               // Locate the end of opening tab.
               int openTagEndPosition = item.IndexOf(">");
               // Remove the identified section, if it is valid.
               if (openTagEndPosition >= 0)
                  item = item.Substring(openTagEndPosition + 1);
            }      
         }
         // Display the trimmed string.
         Console.WriteLine("After: " + item);
         Console.WriteLine();
      }                   
   }
}
// The example displays the following output:
//    Before: <b>This is bold text</b>
//    After: This is bold text
//    
//    Before: <H1>This is large Text</H1>
//    After: This is large Text
//    
//    Before: <b><i><font color=green>This has multiple tags</font></i></b>
//    After: <i><font color=green>This has multiple tags</font></i>
//    
//    Before: <b>This has <i>embedded</i> tags.</b>
//    After: This has <i>embedded</i> tags.
//    
//    Before: This line ends with a greater than symbol and should not be modified>
//    After: This line ends with a greater than symbol and should not be modified>

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