例01
基本的なものから始めて、文字列変数でIndexOf関数を使用して、そこから文字の特定のインデックス番号を検索する方法を説明します。 そのため、このサンプルチュートリアルは、システムの「システム」ライブラリから始めています。 これは、コードで汎用メンバー関数を使用できるように、C#プログラムで使用する必要のあるライブラリです。 このプログラムの実装は、単純なTestクラスの宣言と静的なmain()メソッドの初期化から開始されました。
このmain()メソッド内には、文字列値を持つ文字列変数「s」があります。 SystemライブラリのConsoleクラスのC#のWriteLine()関数は、最初に文字列を表示するために使用されます。 この後、整数変数「i1」が宣言され、C#のIndexOf()関数を使用して文字列変数「s」から文字「I」のインデックスを取得します。 次のConsole.WriteLine()ステートメントは、「i1」変数値を使用してそのインデックスを表示するためのものです。 同じプロセスが文字「n」に使用され、文字列「s」から変数「i2」のインデックスを取得しました。 これはすべて、文字列変数から1文字のインデックス番号を見つけることです。 このコードを保存します。
コードを保存した後、ターミナルに戻ります。 Ubuntuでは、C#用の「mcs」コンパイラと「mono」ランタイムを最後にインストールする必要があります。 そのため、コードファイル「indexof.cs」をコンパイルするために「mcs」コンパイラを試してきました。 その「exe」ファイルが作成され、以下のように「mono」ランタイムを使用してその「exe」ファイルを実行して実行する必要があります。 出力領域には、最初に文字列「s」が表示され、次に「I」と「n」のインデックスが別々の行に表示されます。 結果は、IndexOf関数が文字列から最初に出現するインデックスを返すことを示しています。
例02
上の図では、文字列から文字の最初のインデックスオカレンスを取得する方法を示しています。 これで、一致する文字を検索する開始点を定義する独自の方法ができました。 そのため、同じコードを更新しています。 同じ文字列「s」が同じ値で使用されています。 各整数変数「i1」および「i2」の「IndexOf」関数の引数を更新しました。 文字列から開始点のインデックスを指定しながら、同じ文字「I」と「n」の最初の出現を検索しています。 「I」の場合、IndexOf()関数はインデックス番号4以降を検索し、「n」の場合、インデックス「5」以降を検索します。 この方法を使用するときは、必ず最後に出現する「インデックス」番号を開始点として使用してください。 したがって、更新されたコードは、実行前に最初に保存する必要があります。
「indexof.cs」ファイルでコンパイルを試みた後、「mono」ランタイムを使用して実行するためにその「exe」ファイルを試しました。 以下に示す更新された出力が画面に表示されます。 開始点の後の文字「I」と「n」の両方の最初の出現のインデックスを示します。
例03
開始点と終了点の両方を定義することにより、文字列から最初に出現する文字を検索することもできます。 文字列の最後のインデックスで文字の出現を検索するとします。 このためには、IndexOf関数内の文字列から開始点と終了点のインデックスを定義する必要があります。 これを示すためにコードを更新しています。
そのため、IndexOf()関数の引数を更新して、文字列「s」から検索される文字「I」の開始点4と終了点15を使用しています。 これは、最初に出現する文字「I」について、4から15までのインデックスのみが検索されることを意味します。 文字「n」については、最後から2番目に出現する開始点12を定義しています。 最後に出現するのは文字列「s」の最後のインデックスであるため、エラーがスローされるため、最後のインデックス番号を終了点として定義する必要はありません。 これで、更新されたコードが実行用に保存されます。
コードをコンパイルして実行した後、4から15までのインデックス「6」で「I」の最初の出現が見つかりました。一方、「n」の最初の出現は、から始まる文字列「s」のインデックス「13」で見つかりました。ポイント12。
文字列からの特定の文字の最後の出現インデックスとして終了点インデックスを使用すると、以下に示すように、「exe」ファイルを実行した後、画面に「ArgumentOutofRangeException」例外がスローされます。 だから、それをしないでください。
例04
IndexOf()関数が、引数でのさまざまな大文字小文字の使用にどのように応答するかを確認してみましょう。 そのため、以下に示すように更新されたコードを試しています。 示されているように、文字列「s」は新しい文字列値で初期化されています。 文字列「s」から文字「f」のインデックスを検索してきました。
文字列「s」から文字を検索するために、文字の大文字と小文字の表現を使用しています。 「f」と「F」の文字のインデックスの検索は両方とも、「IndexOf」関数を使用して別々の行で実行されています。
このコードを実行した結果、「IndexOf」関数で大文字と小文字が区別される検索が実行されるため、大文字の「F」が見つからなかったため、「f」の場合は「6」、「F」の場合は「-1」が出力されます。
例05
「IndexOf()」関数は、文字列からの部分文字列の最初のインデックス検索にも使用できます。 こちらもイラストを見てみましょう。 そのため、長い文字列値で文字列「s」を初期化し、Console.WriteLine()を使用して表示しました。 この後、「IndexOf()」関数を使用して、文字列「s」からサブ文字列「string」と「Hello」の最初の出現を検索します。
この更新されたコードのコンパイルと実行後、インデックス10でサブストリング「string」の最初の出現が見つかりましたが、これまでのところ「Hello」の出現は見つかりませんでした。
結論
このデモンストレーションは、C#のIndexOf()関数を使用して、指定された文字列から特定のパターンをインデックス検索することに関するものでした。 誤解を避けるために、導入段落でその使用法と出力について説明しました。 それに加えて、C#コードを使用してその例の多くを試し、単純な文字または部分文字列の使用について説明しました。 また、IndexOf関数内で開始点と終了点のインデックスを使用して、特定の文字または部分文字列の最初の出現を検索しようとしました。
The post C#IndexOf appeared first on Gamingsym Japan.