VB.netで右からの文字列を取得する方法

この記事は約 4 分で読めます。

みなさんこんにちは!

ひろぽんです!

そういえばVB.NETで右から何文字って感じで文字を取得するのってどうするんだっけ??って思っていろいろ調べたので記事にしようと思います!

VB.netで右からの文字列を取得するには、Strings.Rightを使う

これ。私いろいろ勘違いしていました。

下記のようなコード(変数に値を入れてるだけ)があった場合、name.Rightで右からの文字を取得できると思ったんです。

    Sub Main()
        Dim name = "東京太郎"
    End Sub

でもname.Rightというのはありません。

よくよく調べてみるとVB.netの場合、Stringsというモジュールが用意されており、これを使うことで、右から何文字って感じで文字を取得することができるみたいですね!

    Sub Main()
        Dim name = "東京太郎"
        Dim getName = Strings.Right(name, 2)
        Console.WriteLine(getName)
        Console.ReadLine()
    End Sub

Stringsモジュールには何がある?

ではVB.netにだけ用意されているStringsモジュールですが、他にどんな便利なメソッドがあるのか調べてみました!

独断と偏見で便利だなーと思ったメソッドを羅列していきます!

String.splitで文字を分ける

    Sub Main()

        Dim place = "東京,大阪,名古屋"
        Dim places = Strings.Split(place, ",")
        Console.WriteLine(places(0) & places(1) & places(2))
        Console.Read()

    End Sub

第1引数に分けたい文字列、第2引数に分ける文字を。これで戻り値がstringsの配列で分けて戻ってきます。

Strings.Joinで文字配列を1つの文字列にする

    Sub Main()

        Dim places As String() = {"東京", "大阪", "名古屋"}
        Dim combineStr = Strings.Join(places)
        Console.WriteLine(combineStr)
        Console.Read()

    End Sub

これを実行すると

Strings.InStrで文字列のどの部分に含まれているかを返す

    Sub Main()

        Dim name = "東京太郎"
        Dim resultNum = Strings.InStr(name, "東京")
        Console.WriteLine(resultNum)
        Console.Read()

    End Sub

これを実行すると

もし指定した文字列が存在しなかった場合、下記のようになります。

    Sub Main()

        Dim name = "東京太郎"
        Dim resultNum = Strings.InStr(name, "大阪")
        Console.WriteLine(resultNum)
        Console.Read()

    End Sub

なのでこれを応用すると下記のようなことができますね!

    Sub Main()

        Dim weather = "東京は今日はいい天気です"

        Dim notContain = 0
        If Strings.InStr(weather, "大阪").Equals(notContain) Then
            Console.WriteLine("文字列に大阪は含まれていません")
        Else
            Console.WriteLine("文字列に大阪は含まれています。")
        End If


        Console.Read()

    End Sub

文字列の存在チェックですが、書いていて思った。

これcontainsで出来ますね。

下記で代用できますね。

    Sub Main()

        Dim weather = "東京は今日はいい天気です"

        If weather.Contains("大阪") Then
            Console.WriteLine("文字列に大阪は含まれています。")
        Else
            Console.WriteLine("文字列に大阪は含まれていません")
        End If
        Console.Read()

    End Sub

以上!

Vb.netだけに存在するStringsモジュールの話でした!

C#の場合同じ.netでもモジュールって考え方が無いので、別の方法で取得しなければいけません!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA