VB.NET 部分文字列メソッドと例

部分文字列とは何ですか?

substring 関数は、指定された文字列の一部を取得するために使用されます。このメソッドは、次の String クラスで定義されています。 Microsoft VB.NET。文字列を抽出する開始インデックスを指定する必要があります。指定した長さまでの文字列がインデックスから抽出されます。

このチュートリアルでは、

部分文字列の構文

この関数は、次の構文に示すように 2 つの引数を受け入れます。

Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String

ここでは、

  • ByVal キーワードは、関数に引数を渡すメカニズムである値渡しを示します。
  • start_Index は、部分文字列を取得するインデックスです。
  • sub_length は、start_Index からコピーされる String の長さを示します。 この長さは文字数で測定されます。 この関数は抽出された部分文字列を返します。

ステップ1) 新しいコンソール アプリケーションを作成します。

ステップ2) 次のコードを追加します。

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(0, 4)

        Console.WriteLine("The substring is: {0}", subst)

        Console.ReadKey()
    End Sub

End Module

ステップ3) ツールバーの [開始] ボタンをクリックしてコードを実行します。次の結果が得られます。

以下のコードを使用しました。

コードの説明:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを開始します。
  3. st という名前の文字列変数を定義し、それに値 Guru99 を割り当てます。
  4. 「subst」という名前の文字列変数を、インデックス 0f から長さ 4 文字の文字列「st」の部分文字列として定義します。
  5. いくつかのテキストと上記の部分文字列をコンソールに表示します。
  6. コンソール ウィンドウをしばらく一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  7. メインのサブプロシージャの終了。
  8. モジュールの終わり。

XNUMX つの引数

関数に引数を XNUMX つだけ渡した場合はどうなるでしょうか? この関数は、そのインデックスから始まる文字列内のすべてのデータをコピーします。 何が起こるかというと、Substring 関数は、そのインデックスにあるすべての文字列データと、そのインデックスに続く文字列データを内部的にコピーします。 例えば:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(4)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

[開始] ボタンをクリックしてコードを実行します。次の結果が返されます。

部分文字列関数は 99 を返しました。関数にパラメータ 4 を渡しました。これは、インデックス 4 の文字から文字列の末尾までの部分文字列の抽出を開始することを意味します。 9 は文字列 Guru4 のインデックス 99 の文字であるため、そこから抽出が開始されました。

中文字

問題の文字列の中間の文字を取得することもできます。この場合、開始インデックスと必要な文字列の長さを指定するだけで済みます。次の例では、指定された文字列のインデックス 2 から部分文字列を取得しており、文字列の長さは 2 文字になります。

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(2, 2)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

ツールバーの [開始] ボタンをクリックしてコードを実行します。次の結果が得られます。

上の例では、部分文字列関数は ru を返しました。 パラメーター (2, 2) を関数に渡しました。 最初の 2 は、インデックス 2 から部分文字列の抽出を開始するように関数に指示し、次の 2 は、長さが 2 文字のみの部分文字列を返すように関数に指示します。 これは、部分文字列の抽出が文字列 Guru2 のインデックス 99 にある要素 (r) から開始される必要があることを意味します。 返される部分文字列の長さは 2 文字のみであるため、抽出は「u」を超えず、そのため「ru」が返されます。

XNUMX文字

Substring 関数を使用すると、文字列から 1 つの文字を取得できます。このような場合、割り当てを行う必要がありますが、文字に直接アクセスできます。この方が少し高速です。次の例は、これを実現する 2 つの方法を示しています。

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim mid1 As Char = st(1)
        Console.WriteLine(mid1)

        Dim mid2 As String = st.Substring(1, 1)

        Console.WriteLine(mid2)

        Console.ReadKey()

    End Sub

End Module

[開始] ボタンをクリックしてコードを実行します。次の結果が得られます。

以下のコードを使用しました。

コードの説明:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを開始します。
  3. st という名前の文字列変数を定義し、それに値 Guru99 を割り当てます。
  4. mid1 という名前の文字列変数を定義し、String st のインデックス 1 にある文字を取得します。 この文字は変数mid1に割り当てられます。
  5. 上記の文字をコンソールに表示します。
  6. mid2 という名前の文字列変数を定義し、文字列 st からインデックス 1、長さ 1 の文字を取得します。 長さ 1 は、開始インデックスで同じ文字を返すことを意味します。 カウントは、指定した開始インデックスから始まります。 この文字は変数mid2に割り当てられます。
  7. 上記の文字をコンソールに表示します。
  8. コンソール ウィンドウをしばらく一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  9. メインのサブプロシージャの終了。
  10. モジュールの終わり。

まとめ

  • Substring 関数は、Visual Basic.NET の String クラスで定義されます。
  • これは、部分文字列の開始点と部分文字列の長さの XNUMX つの引数を受け入れます。
  • これらの引数をいじって、メインの文字列からさまざまな部分文字列のセットを取得できます。