CompareInfo.LastIndexOf メソッド (String, String, Int32, Int32)
指定した部分文字列を検索し、検索対象文字列の指定したインデックスで終了し、指定した数の要素を含んでいる範囲内で、その部分文字列が最後に出現する位置の 0 から始まるインデックス番号を返します。
Overloads Public Overridable Function LastIndexOf( _
ByVal source As String, _ ByVal value As String, _ ByVal startIndex As Integer, _ ByVal count As Integer _) As Integer
[C#]
public virtual int LastIndexOf(stringsource,stringvalue,intstartIndex,intcount);
[C++]
public: virtual int LastIndexOf(String* source,String* value,intstartIndex,intcount);
[JScript]
public function LastIndexOf(
source : String,value : String,startIndex : int,count : int) : int;
パラメータ
- source
検索対象の文字列。 - value
source 内で検索する文字列。 - startIndex
後方検索の開始位置を示す 0 から始まるインデックス。 - count
検索対象の範囲内にある要素の数。
戻り値
startIndex で終了し、count で指定した数の要素を含んでいる source の範囲内で value が見つかった場合は、最後に見つかった位置の 0 から始まるインデックス番号。それ以外の場合は -1。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | source が null 参照 (Visual Basic では Nothing) です。
または value が null 参照 (Nothing) です。 |
ArgumentOutOfRangeException | startIndex が source の有効なインデックスの範囲外の値です。
または count が 0 未満です。 または startIndex および count が source 内の有効な部分を指定していません。 |
解説
検索範囲の文字列内で、検索は startIndex から開始して逆方向に進み、 startIndex- count + 1 の位置で終了します。
このオーバーロードは、カルチャを考慮した検索を実行します。カルチャによっては、合字の 'Æ' (U+00C6) など構成済み文字を表す Unicode 値と、この文字の構成要素が "AE" (U+0041、U+0045) のように正しい順序で出現したものが等価であると見なします。Unicode 値を比較する番号順 (カルチャを考慮しない) 検索を実行するには、 CompareOptions 値をパラメータとして受け取るオーバーロードのいずれかを使用して、 Ordinal 値を使用します。
使用例
[Visual Basic, C#, C++] 次に示すのは、文字列の一部分の、最初と最後に出現する文字または部分文字列のインデックスを調べるコード例です。
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic
Public Class SamplesCompareInfo
Public Shared Sub Main()
' Creates CompareInfo for the InvariantCulture.
Dim myComp As CompareInfo = CultureInfo.InvariantCulture.CompareInfo
' iS is the starting index of the substring.
Dim [iS] As Integer = 8
' iL is the length of the substring.
Dim iL As Integer = 18
' myT1 and myT2 are the strings used for padding.
Dim myT1 As New [String]("-"c, [iS])
Dim myT2 As [String]
' Searches for the ligature .
Dim myStr As [String] = "Is AE or ae the same as or ?"
myT2 = New [String]("-"c, myStr.Length - [iS] - iL)
Console.WriteLine()
Console.WriteLine("Original : {0}", myStr)
Console.WriteLine("No options : {0}{1}{2}", myT1, myStr.Substring([iS], iL), myT2)
PrintMarker(" AE : ", myComp.IndexOf(myStr, "AE", [iS], iL), myComp.LastIndexOf(myStr, "AE", [iS] + iL - 1, iL))
PrintMarker(" ae : ", myComp.IndexOf(myStr, "ae", [iS], iL), myComp.LastIndexOf(myStr, "ae", [iS] + iL - 1, iL))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL))
Console.WriteLine("Ordinal : {0}{1}{2}", myT1, myStr.Substring([iS], iL), myT2)
PrintMarker(" AE : ", myComp.IndexOf(myStr, "AE", [iS], iL, CompareOptions.Ordinal), myComp.LastIndexOf(myStr, "AE", [iS] + iL - 1, iL, CompareOptions.Ordinal))
PrintMarker(" ae : ", myComp.IndexOf(myStr, "ae", [iS], iL, CompareOptions.Ordinal), myComp.LastIndexOf(myStr, "ae", [iS] + iL - 1, iL, CompareOptions.Ordinal))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL, CompareOptions.Ordinal), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL, CompareOptions.Ordinal))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL, CompareOptions.Ordinal), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL, CompareOptions.Ordinal))
Console.WriteLine("IgnoreCase : {0}{1}{2}", myT1, myStr.Substring([iS], iL), myT2)
PrintMarker(" AE : ", myComp.IndexOf(myStr, "AE", [iS], iL, CompareOptions.IgnoreCase), myComp.LastIndexOf(myStr, "AE", [iS] + iL - 1, iL, CompareOptions.IgnoreCase))
PrintMarker(" ae : ", myComp.IndexOf(myStr, "ae", [iS], iL, CompareOptions.IgnoreCase), myComp.LastIndexOf(myStr, "ae", [iS] + iL - 1, iL, CompareOptions.IgnoreCase))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL, CompareOptions.IgnoreCase), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL, CompareOptions.IgnoreCase))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL, CompareOptions.IgnoreCase), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL, CompareOptions.IgnoreCase))
' Searches for the combining character sequence Latin capital letter U with diaeresis or Latin small letter u with diaeresis.
myStr = "Is " & ChrW(&H0055) & ChrW(&H0308) & " or " & ChrW(&H0075) & ChrW(&H0308) & " the same as " & ChrW(&H00DC) & " or " & ChrW(&H00FC) & "?"
myT2 = New [String]("-"c, myStr.Length - [iS] - iL)
Console.WriteLine()
Console.WriteLine("Original : {0}", myStr)
Console.WriteLine("No options : {0}{1}{2}", myT1, myStr.Substring([iS], iL), myT2)
PrintMarker(" U" & ChrW(&H0308) & " : ", myComp.IndexOf(myStr, "U" & ChrW(&H0308), [iS], iL), myComp.LastIndexOf(myStr, "U" & ChrW(&H0308), [iS] + iL - 1, iL))
PrintMarker(" u" & ChrW(&H0308) & " : ", myComp.IndexOf(myStr, "u" & ChrW(&H0308), [iS], iL), myComp.LastIndexOf(myStr, "u" & ChrW(&H0308), [iS] + iL - 1, iL))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL))
Console.WriteLine("Ordinal : {0}{1}{2}", myT1, myStr.Substring([iS], iL), myT2)
PrintMarker(" U" & ChrW(&H0308) & " : ", myComp.IndexOf(myStr, "U" & ChrW(&H0308), [iS], iL, CompareOptions.Ordinal), myComp.LastIndexOf(myStr, "U" & ChrW(&H0308), [iS] + iL - 1, iL, CompareOptions.Ordinal))
PrintMarker(" u" & ChrW(&H0308) & " : ", myComp.IndexOf(myStr, "u" & ChrW(&H0308), [iS], iL, CompareOptions.Ordinal), myComp.LastIndexOf(myStr, "u" & ChrW(&H0308), [iS] + iL - 1, iL, CompareOptions.Ordinal))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL, CompareOptions.Ordinal), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL, CompareOptions.Ordinal))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL, CompareOptions.Ordinal), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL, CompareOptions.Ordinal))
Console.WriteLine("IgnoreCase : {0}{1}{2}", myT1, myStr.Substring([iS], iL), myT2)
PrintMarker(" U" & ChrW(&H0308) & " : ", myComp.IndexOf(myStr, "U" & ChrW(&H0308), [iS], iL, CompareOptions.IgnoreCase), myComp.LastIndexOf(myStr, "U" & ChrW(&H0308), [iS] + iL - 1, iL, CompareOptions.IgnoreCase))
PrintMarker(" u" & ChrW(&H0308) & " : ", myComp.IndexOf(myStr, "u" & ChrW(&H0308), [iS], iL, CompareOptions.IgnoreCase), myComp.LastIndexOf(myStr, "u" & ChrW(&H0308), [iS] + iL - 1, iL, CompareOptions.IgnoreCase))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL, CompareOptions.IgnoreCase), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL, CompareOptions.IgnoreCase))
PrintMarker(" : ", myComp.IndexOf(myStr, ""c, [iS], iL, CompareOptions.IgnoreCase), myComp.LastIndexOf(myStr, ""c, [iS] + iL - 1, iL, CompareOptions.IgnoreCase))
End Sub 'Main
Public Shared Sub PrintMarker(Prefix As [String], First As Integer, Last As Integer)
' Determines the size of the array to create.
Dim mySize As Integer
If Last > First Then
mySize = Last
Else
mySize = First
End If
If mySize > - 1 Then
' Creates an array of Char to hold the markers.
Dim myCharArr(mySize + 1) As [Char]
' Inserts the appropriate markers.
If First > - 1 Then
myCharArr(First) = "f"c
End If
If Last > - 1 Then
myCharArr(Last) = "l"c
End If
If First = Last Then
myCharArr(First) = "b"c
End If
' Displays the array of Char as a String.
Console.WriteLine("{0}{1}", Prefix, New [String](myCharArr))
Else
Console.WriteLine(Prefix)
End If
End Sub 'PrintMarker
End Class 'SamplesCompareInfo
'This code produces the following output.
'
'Original : Is AE or ae the same as or ?
'No options : -------- ae the same as -----
' AE : b
' ae : b
' : b
' : b
'Ordinal : -------- ae the same as -----
' AE :
' ae : b
' : b
' :
'IgnoreCase : -------- ae the same as -----
' AE : f l
' ae : f l
' : f l
' : f l
'
'Original : Is U" or u" the same as or ?
'No options : -------- u" the same as -----
' U" : b
' u" : b
' : b
' : b
'Ordinal : -------- u" the same as -----
' U" :
' u" : b
' : b
' :
'IgnoreCase : -------- u" the same as -----
' U" : f l
' u" : f l
' : f l
' : f l
[C#]
using System;
using System.Globalization;
public class SamplesCompareInfo {
public static void Main() {
// Creates CompareInfo for the InvariantCulture.
CompareInfo myComp = CultureInfo.InvariantCulture.CompareInfo;
// iS is the starting index of the substring.
int iS = 8;
// iL is the length of the substring.
int iL = 18;
// myT1 and myT2 are the strings used for padding.
String myT1 = new String( '-', iS );
String myT2;
// Searches for the ligature .
String myStr = "Is AE or ae the same as or ?";
myT2 = new String( '-', myStr.Length - iS - iL );
Console.WriteLine();
Console.WriteLine( "Original : {0}", myStr );
Console.WriteLine( "No options : {0}{1}{2}", myT1, myStr.Substring( iS, iL ), myT2 );
PrintMarker( " AE : ", myComp.IndexOf( myStr, "AE", iS, iL ), myComp.LastIndexOf( myStr, "AE", iS + iL - 1, iL ) );
PrintMarker( " ae : ", myComp.IndexOf( myStr, "ae", iS, iL ), myComp.LastIndexOf( myStr, "ae", iS + iL - 1, iL ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL ) );
Console.WriteLine( "Ordinal : {0}{1}{2}", myT1, myStr.Substring( iS, iL ), myT2 );
PrintMarker( " AE : ", myComp.IndexOf( myStr, "AE", iS, iL, CompareOptions.Ordinal ), myComp.LastIndexOf( myStr, "AE", iS + iL - 1, iL, CompareOptions.Ordinal ) );
PrintMarker( " ae : ", myComp.IndexOf( myStr, "ae", iS, iL, CompareOptions.Ordinal ), myComp.LastIndexOf( myStr, "ae", iS + iL - 1, iL, CompareOptions.Ordinal ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL, CompareOptions.Ordinal ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL, CompareOptions.Ordinal ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL, CompareOptions.Ordinal ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL, CompareOptions.Ordinal ) );
Console.WriteLine( "IgnoreCase : {0}{1}{2}", myT1, myStr.Substring( iS, iL ), myT2 );
PrintMarker( " AE : ", myComp.IndexOf( myStr, "AE", iS, iL, CompareOptions.IgnoreCase ), myComp.LastIndexOf( myStr, "AE", iS + iL - 1, iL, CompareOptions.IgnoreCase ) );
PrintMarker( " ae : ", myComp.IndexOf( myStr, "ae", iS, iL, CompareOptions.IgnoreCase ), myComp.LastIndexOf( myStr, "ae", iS + iL - 1, iL, CompareOptions.IgnoreCase ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL, CompareOptions.IgnoreCase ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL, CompareOptions.IgnoreCase ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL, CompareOptions.IgnoreCase ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL, CompareOptions.IgnoreCase ) );
// Searches for the combining character sequence Latin capital letter U with diaeresis or Latin small letter u with diaeresis.
myStr = "Is \u0055\u0308 or \u0075\u0308 the same as \u00DC or \u00FC?";
myT2 = new String( '-', myStr.Length - iS - iL );
Console.WriteLine();
Console.WriteLine( "Original : {0}", myStr );
Console.WriteLine( "No options : {0}{1}{2}", myT1, myStr.Substring( iS, iL ), myT2 );
PrintMarker( " U\u0308 : ", myComp.IndexOf( myStr, "U\u0308", iS, iL ), myComp.LastIndexOf( myStr, "U\u0308", iS + iL - 1, iL ) );
PrintMarker( " u\u0308 : ", myComp.IndexOf( myStr, "u\u0308", iS, iL ), myComp.LastIndexOf( myStr, "u\u0308", iS + iL - 1, iL ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL ) );
Console.WriteLine( "Ordinal : {0}{1}{2}", myT1, myStr.Substring( iS, iL ), myT2 );
PrintMarker( " U\u0308 : ", myComp.IndexOf( myStr, "U\u0308", iS, iL, CompareOptions.Ordinal ), myComp.LastIndexOf( myStr, "U\u0308", iS + iL - 1, iL, CompareOptions.Ordinal ) );
PrintMarker( " u\u0308 : ", myComp.IndexOf( myStr, "u\u0308", iS, iL, CompareOptions.Ordinal ), myComp.LastIndexOf( myStr, "u\u0308", iS + iL - 1, iL, CompareOptions.Ordinal ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL, CompareOptions.Ordinal ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL, CompareOptions.Ordinal ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL, CompareOptions.Ordinal ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL, CompareOptions.Ordinal ) );
Console.WriteLine( "IgnoreCase : {0}{1}{2}", myT1, myStr.Substring( iS, iL ), myT2 );
PrintMarker( " U\u0308 : ", myComp.IndexOf( myStr, "U\u0308", iS, iL, CompareOptions.IgnoreCase ), myComp.LastIndexOf( myStr, "U\u0308", iS + iL - 1, iL, CompareOptions.IgnoreCase ) );
PrintMarker( " u\u0308 : ", myComp.IndexOf( myStr, "u\u0308", iS, iL, CompareOptions.IgnoreCase ), myComp.LastIndexOf( myStr, "u\u0308", iS + iL - 1, iL, CompareOptions.IgnoreCase ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL, CompareOptions.IgnoreCase ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL, CompareOptions.IgnoreCase ) );
PrintMarker( " : ", myComp.IndexOf( myStr, '', iS, iL, CompareOptions.IgnoreCase ), myComp.LastIndexOf( myStr, '', iS + iL - 1, iL, CompareOptions.IgnoreCase ) );
}
public static void PrintMarker( String Prefix, int First, int Last ) {
// Determines the size of the array to create.
int mySize;
if ( Last > First )
mySize = Last;
else
mySize = First;
if ( mySize > -1 ) {
// Creates an array of Char to hold the markers.
Char[] myCharArr = new Char[mySize+1];
// Inserts the appropriate markers.
if ( First > -1 )
myCharArr[First] = 'f';
if ( Last > -1 )
myCharArr[Last] = 'l';
if ( First == Last )
myCharArr[First] = 'b';
// Displays the array of Char as a String.
Console.WriteLine( "{0}{1}", Prefix, new String( myCharArr ) );
}
else
Console.WriteLine( Prefix );
}
}
/*
This code produces the following output.
Original : Is AE or ae the same as or ?
No options : -------- ae the same as -----
AE : b
ae : b
: b
: b
Ordinal : -------- ae the same as -----
AE :
ae : b
: b
:
IgnoreCase : -------- ae the same as -----
AE : f l
ae : f l
: f l
: f l
Original : Is U" or u" the same as or ?
No options : -------- u" the same as -----
U" : b
u" : b
: b
: b
Ordinal : -------- u" the same as -----
U" :
u" : b
: b
:
IgnoreCase : -------- u" the same as -----
U" : f l
u" : f l
: f l
: f l
*/
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;
void PrintMarker( String* Prefix, int First, int Last ) {
// Determines the size of the array to create.
int mySize;
if ( Last > First )
mySize = Last;
else
mySize = First;
if ( mySize > -1 ) {
// Creates an array of Char to hold the markers.
Char myCharArr[] = new Char[mySize+1];
// Inserts the appropriate markers.
if ( First > -1 )
myCharArr[First] = 'f';
if ( Last > -1 )
myCharArr[Last] = 'l';
if ( First == Last )
myCharArr[First] = 'b';
// Displays the array of Char as a String.
Console::WriteLine( S"{0}{1}", Prefix, new String( myCharArr ) );
}
else
Console::WriteLine( Prefix );
}
int main() {
// Creates CompareInfo for the InvariantCulture.
CompareInfo* myComp = CultureInfo::InvariantCulture->CompareInfo;
// iS is the starting index of the substring.
int iS = 8;
// iL is the length of the substring.
int iL = 18;
// myT1 and myT2 are the strings used for padding.
String* myT1 = new String( '-', iS );
String* myT2;
// Searches for the ligature ニ.
String* myStr = S"Is AE or ae the same as ニ or ・";
myT2 = new String( '-', myStr->Length - iS - iL );
Console::WriteLine();
Console::WriteLine( S"Original : {0}", myStr );
Console::WriteLine( S"No options : {0}{1}{2}", myT1, myStr->Substring( iS, iL ), myT2 );
PrintMarker( S" AE : ", myComp->IndexOf( myStr, S"AE", iS, iL ), myComp->LastIndexOf( myStr, S"AE", iS + iL - 1, iL ) );
PrintMarker( S" ae : ", myComp->IndexOf( myStr, S"ae", iS, iL ), myComp->LastIndexOf( myStr, S"ae", iS + iL - 1, iL ) );
PrintMarker( S" ニ : ", myComp->IndexOf( myStr, L'ニ', iS, iL ), myComp->LastIndexOf( myStr, L'ニ', iS + iL - 1, iL ) );
PrintMarker( S" ・: ", myComp->IndexOf( myStr, L'・, iS, iL ), myComp->LastIndexOf( myStr, L'・, iS + iL - 1, iL ) );
Console::WriteLine( S"Ordinal : {0}{1}{2}", myT1, myStr->Substring( iS, iL ), myT2 );
PrintMarker( S" AE : ", myComp->IndexOf( myStr, S"AE", iS, iL, CompareOptions::Ordinal ), myComp->LastIndexOf( myStr, S"AE", iS + iL - 1, iL, CompareOptions::Ordinal ) );
PrintMarker( S" ae : ", myComp->IndexOf( myStr, S"ae", iS, iL, CompareOptions::Ordinal ), myComp->LastIndexOf( myStr, S"ae", iS + iL - 1, iL, CompareOptions::Ordinal ) );
PrintMarker( S" ニ : ", myComp->IndexOf( myStr, L'ニ', iS, iL, CompareOptions::Ordinal ), myComp->LastIndexOf( myStr, L'ニ', iS + iL - 1, iL, CompareOptions::Ordinal ) );
PrintMarker( S" ・: ", myComp->IndexOf( myStr, L'・, iS, iL, CompareOptions::Ordinal ), myComp->LastIndexOf( myStr, L'・, iS + iL - 1, iL, CompareOptions::Ordinal ) );
Console::WriteLine( S"IgnoreCase : {0}{1}{2}", myT1, myStr->Substring( iS, iL ), myT2 );
PrintMarker( S" AE : ", myComp->IndexOf( myStr, S"AE", iS, iL, CompareOptions::IgnoreCase ), myComp->LastIndexOf( myStr, S"AE", iS + iL - 1, iL, CompareOptions::IgnoreCase ) );
PrintMarker( S" ae : ", myComp->IndexOf( myStr, S"ae", iS, iL, CompareOptions::IgnoreCase ), myComp->LastIndexOf( myStr, S"ae", iS + iL - 1, iL, CompareOptions::IgnoreCase ) );
PrintMarker( S" ニ : ", myComp->IndexOf( myStr, L'ニ', iS, iL, CompareOptions::IgnoreCase ), myComp->LastIndexOf( myStr, L'ニ', iS + iL - 1, iL, CompareOptions::IgnoreCase ) );
PrintMarker( S" ・: ", myComp->IndexOf( myStr, L'・, iS, iL, CompareOptions::IgnoreCase ), myComp->LastIndexOf( myStr, L'・, iS + iL - 1, iL, CompareOptions::IgnoreCase ) );
// Searches for the combining character sequence Latin capital letter U with diaeresis or Latin small letter u with diaeresis.
myStr = S"Is U\u0308 or u\u0308 the same as \u00DC or \u00FC?";
myT2 = new String( '-', myStr->Length - iS - iL );
Console::WriteLine();
Console::WriteLine( S"Original : {0}", myStr );
Console::WriteLine( S"No options : {0}{1}{2}", myT1, myStr->Substring( iS, iL ), myT2 );
PrintMarker( S" U\u0308 : ", myComp->IndexOf( myStr, S"U\u0308", iS, iL ), myComp->LastIndexOf( myStr, S"U\u0308", iS + iL - 1, iL ) );
PrintMarker( S" u\u0308 : ", myComp->IndexOf( myStr, S"u\u0308", iS, iL ), myComp->LastIndexOf( myStr, S"u\u0308", iS + iL - 1, iL ) );
PrintMarker( S" ワ : ", myComp->IndexOf( myStr, L'ワ', iS, iL ), myComp->LastIndexOf( myStr, L'ワ', iS + iL - 1, iL ) );
PrintMarker( S" ・: ", myComp->IndexOf( myStr, L'・, iS, iL ), myComp->LastIndexOf( myStr, L'・, iS + iL - 1, iL ) );
Console::WriteLine( S"Ordinal : {0}{1}{2}", myT1, myStr->Substring( iS, iL ), myT2 );
PrintMarker( S" U\u0308 : ", myComp->IndexOf( myStr, S"U\u0308", iS, iL, CompareOptions::Ordinal ), myComp->LastIndexOf( myStr, S"U\u0308", iS + iL - 1, iL, CompareOptions::Ordinal ) );
PrintMarker( S" u\u0308 : ", myComp->IndexOf( myStr, S"u\u0308", iS, iL, CompareOptions::Ordinal ), myComp->LastIndexOf( myStr, S"u\u0308", iS + iL - 1, iL, CompareOptions::Ordinal ) );
PrintMarker( S" ワ : ", myComp->IndexOf( myStr, L'ワ', iS, iL, CompareOptions::Ordinal ), myComp->LastIndexOf( myStr, L'ワ', iS + iL - 1, iL, CompareOptions::Ordinal ) );
PrintMarker( S" ・: ", myComp->IndexOf( myStr, L'・, iS, iL, CompareOptions::Ordinal ), myComp->LastIndexOf( myStr, L'・, iS + iL - 1, iL, CompareOptions::Ordinal ) );
Console::WriteLine( S"IgnoreCase : {0}{1}{2}", myT1, myStr->Substring( iS, iL ), myT2 );
PrintMarker( S" U\u0308 : ", myComp->IndexOf( myStr, S"U\u0308", iS, iL, CompareOptions::IgnoreCase ), myComp->LastIndexOf( myStr, S"U\u0308", iS + iL - 1, iL, CompareOptions::IgnoreCase ) );
PrintMarker( S" u\u0308 : ", myComp->IndexOf( myStr, S"u\u0308", iS, iL, CompareOptions::IgnoreCase ), myComp->LastIndexOf( myStr, S"u\u0308", iS + iL - 1, iL, CompareOptions::IgnoreCase ) );
PrintMarker( S" ワ : ", myComp->IndexOf( myStr, L'ワ', iS, iL, CompareOptions::IgnoreCase ), myComp->LastIndexOf( myStr, L'ワ', iS + iL - 1, iL, CompareOptions::IgnoreCase ) );
PrintMarker( S" ・: ", myComp->IndexOf( myStr, L'・, iS, iL, CompareOptions::IgnoreCase ), myComp->LastIndexOf( myStr, L'・, iS + iL - 1, iL, CompareOptions::IgnoreCase ) );
}
/*
This code produces the following output.
Original : Is AE or ae the same as ニ or ・
No options : -------- ae the same as ニ -----
AE : b
ae : b
ニ : b
・: b
Ordinal : -------- ae the same as ニ -----
AE :
ae : b
ニ : b
・:
IgnoreCase : -------- ae the same as ニ -----
AE : f l
ae : f l
ニ : f l
・: f l
Original : Is U" or u" the same as ワ or ・
No options : -------- u" the same as ワ -----
U" : b
u" : b
ワ : b
・: b
Ordinal : -------- u" the same as ワ -----
U" :
u" : b
ワ : b
・:
IgnoreCase : -------- u" the same as ワ -----
U" : f l
u" : f l
ワ : f l
・: f l
*/
[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
参照
CompareInfo クラス | CompareInfo メンバ | System.Globalization 名前空間 | CompareInfo.LastIndexOf オーバーロードの一覧 | IndexOf