指定した String がこのインスタンス内で最初に見つかった位置のインデックスをレポートします。検索は、指定した文字位置から開始されます。
Overloads Public Function IndexOf( _
ByVal value As String, _ ByVal startIndex As Integer _) As Integer
[C#]
public int IndexOf(stringvalue,intstartIndex);
[C++]
public: int IndexOf(String* value,intstartIndex);
[JScript]
public function IndexOf(
value : String,startIndex : int) : int;
パラメータ
- value
シークする String 。 - startIndex
検索が開始される位置。
戻り値
その文字列が見つかった場合は、 value のインデックス位置。見つからなかった場合は -1。 value が Empty の場合、戻り値は startIndex です。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | value が null 参照 (Visual Basic では Nothing) です。 |
ArgumentOutOfRangeException | startIndex が負の値です。
または startIndex が、このインスタンス内にない位置を指定しています。 |
解説
インデックスの番号付けは 0 から始まります。
このメソッドは、現在のカルチャを使用して、単語 (大文字/小文字を区別し、カルチャに依存した) 検索を実行します。このインスタンスの startIndex で指定される文字位置から最後の文字位置まで検索されます。
使用例
検索対象の文字列内で、指定した文字列をすべて検索する例を次に示します。
Imports System
Public Class IndexOfTest
Public Shared Sub Main()
Dim strSource As String = "This is the string which we will perform the search on"
Console.WriteLine("The search string is:{0}{1}{0}", Environment.NewLine, strSource)
Dim strTarget As String = ""
Dim found As Integer = 0
Dim totFinds As Integer = 0
Do
Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ")
strTarget = Console.ReadLine()
If strTarget <> "" Then
Dim i As Integer
For i = 0 To strSource.Length - 1
found = strSource.IndexOf(strTarget, i)
If found > 0 Then
totFinds += 1
i = found
Else
Exit For
End If
Next i
Else
Return
End If
Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}", Environment.NewLine, strTarget, totFinds)
totFinds = 0
Loop While True
End Sub 'Main
End Class 'IndexOfTest
[C#]
using System;
public class IndexOfTest {
public static void Main() {
string strSource = "This is the string which we will perform the search on";
Console.WriteLine("The search string is:{0}\"{1}\"{0}", Environment.NewLine, strSource);
string strTarget = "";
int found = 0;
int totFinds = 0;
do {
Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ");
strTarget = Console.ReadLine();
if (strTarget != "") {
for (int i = 0; i < strSource.Length; i++) {
found = strSource.IndexOf(strTarget, i);
if (found > 0) {
totFinds++;
i = found;
}
else
break;
}
}
else
return;
Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}",
Environment.NewLine, strTarget, totFinds);
totFinds = 0;
} while ( true );
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
int main()
{
String* strSource = S"This is the string which we will perform the search on";
Console::WriteLine(S"The search string is: {0}\"{1}\" {0}", Environment::NewLine, strSource);
String* strTarget = S"";
int found = 0;
int totFinds = 0;
do {
Console::Write(S"Please enter a search value to look for in the above string (hit Enter to exit) ==> ");
strTarget = Console::ReadLine();
if (!strTarget->Equals(S"")) {
for (int i = 0; i < strSource->Length; i++) {
found = strSource->IndexOf(strTarget, i);
if (found > 0) {
totFinds++;
i = found;
} else
break;
}
} else
return 0;
Console::WriteLine(S"{0}The search parameter '{1}' was found {2} times. {0}",
Environment::NewLine, strTarget, __box(totFinds));
totFinds = 0;
} while (true);
}
[JScript]
import System;
public class IndexOfTest {
public static function Main() : void {
var strSource : String = "This is the string which we will perform the search on";
Console.WriteLine("The search string is:{0}\"{1}\"{0}", Environment.NewLine, strSource);
var strTarget : String = "";
var found : int = 0;
var totFinds : int = 0;
do {
Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ");
strTarget = Console.ReadLine();
if (strTarget != "") {
for (var i : int = 0; i < strSource.Length; i++) {
found = strSource.IndexOf(strTarget, i);
if (found > 0) {
totFinds++;
i = found;
}
else
break;
}
}
else
return;
Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}",
Environment.NewLine, strTarget, totFinds);
totFinds = 0;
} while ( true );
}
}
IndexOfTest.Main();
必要条件
プラットフォーム: 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.IndexOf オーバーロードの一覧 | Int32 | CultureInfo | IndexOfAny | LastIndexOf | LastIndexOfAny