VB.NET 文字列を操作するサンプル

VB.NETの文字列を操作するサンプルです。

確認環境
・Microsoft Visual Studio Community 2019

目次

結合する 文字列を結合する(+演算子)
  文字列を結合する(Concat)
  配列の値を区切り文字を指定して繋げる(Join)
追加する 文字列を追加する(Insert)
  文字を繰り返して作成する
取得する 指定した位置の文字を取得する(Substringメソッド)
  文字の位置を返す(InStrメソッド)
  文字列の始め/終わりを確認する(Like演算子)
  文字列の長さを取得する(Lengthプロパティ)
  文字列がnullまたは空文字か確認する(IsNullOrEmptyメソッド)
削除する 文字列を削除する(Remove)
  文字列の先頭と末尾の空白を削除する(Trimメソッド)
置き換える 文字列を置き換える(Replace)
分割する 文字列を分割して配列にする(Split)
変換する 数値(Integer)を文字列にする(ToStringメソッド)
  文字列を数値(Integer)にする(Parseメソッド)
  英字の大文字と小文字を変換(ToUpper/ToLowerメソッド)

文字列を結合する(+演算子)

文字列を結合するサンプルです。

Module Module1
    Sub Main()
        'リテラル文字列を結合
        Console.WriteLine("あ" + "い") 'あいと出力される

        '変数の値を結合
        Dim a As String = "う"
        Dim b As String = "え"

        Console.WriteLine(a + b) 'うえと出力される  
    End Sub
End Module

4行目は、+演算子で文字列のリテラルを結合しています。
10行目は、+演算子で変数どうしを結合しています。

文字列を結合する(Concat)

文字列を結合するサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "赤"
        Dim b As String = "黄"
        Dim c As String = "青"

        Console.WriteLine(String.Concat(a, b)) '赤黄
        Console.WriteLine(String.Concat(a, b, c)) '赤黄青
    End Sub
End Module

9行目は、Concatメソッドで文字列を結合しています。
10行目のように3つ以上の文字列の結合も可能です。

配列の値を区切り文字を指定して繋げる(Join)

配列の値を区切り文字を指定して繋げるサンプルです。

Module Module1
    Sub Main()
        Dim a() As String = {"赤", "黄", "青"}

        Dim b As String = String.Join("-", a)

        Console.WriteLine(b) '赤-黄-青
    End Sub
End Module

5行目は、joinメソッドで配列の値を区切り文字をハイフン(-)にして文字列にしています。

文字列を追加する(Insert)

文字列を結合するサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "赤黄青"

        Console.WriteLine(a.Insert(2, "オレンジ")) '赤黄オレンジ青
    End Sub
End Module

5行目は、文字列を追加しています。最初の引数は追加する位置です。
位置は0から始まります。

文字を繰り返して作成する

文字を繰り返して作成するサンプルです。

Module Module1
    Sub Main()
        Dim a As New String("あ", 3)
        Console.WriteLine(a) 'あああと出力される

        Dim b As String = String.Empty
        For i = 0 To 2
            b += "い"
        Next i
        Console.WriteLine(b) 'いいいと出力される
    End Sub
End Module

3行目は、Stringクラスのコンストラクタで1つめの引数の文字を2つめの引数の数だけ繰り返します。
6~10行目は、For文で文字を繰り返して表示しています。

指定した位置の文字を取得する(Substringメソッド)

指定した位置の文字を取得するサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "あいうえお"

        '文字を取得
        Console.WriteLine(a.Substring(0, 1)) 'あと出力される
        Console.WriteLine(a.Substring(1, 1)) 'いと出力される
        Console.WriteLine(a.Substring(2, 1)) 'うと出力される

        Console.WriteLine(a.Substring(0, 2)) 'あいと出力される
        Console.WriteLine(a.Substring(1, 2)) 'いうと出力される
    End Sub
End Module

Substringメソッドの1つめの引数は、開始位置です。
2つめの引数は取得する文字数です。
最初の文字の位置は 0 です。

文字の位置を返す(InStrメソッド)

文字の位置を返すサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "あいうabc"

        Console.WriteLine(InStr(a, "い")) '2と出力される
        Console.WriteLine(InStr(a, "b")) '5と出力される
        Console.WriteLine(InStr(a, "か")) '0と出力される
    End Sub
End Module

5,6行目は、InStrメソッドで1つめの文字列に対して2つめの引数の文字の位置を返します。
最初の文字は、1から始まります。(0ではありません)
7行目は、対象の文字列に指定の文字がありません。その場合は0が返ります。

文字列の始め/終わりを確認する(Like演算子)

文字列の始めまたは終わりを確認するサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "あいうabc"

        Console.WriteLine(a Like "あ*") 'Trueと出力される
        Console.WriteLine(a Like "あ") 'Falseと出力される

        Console.WriteLine(a Like "*bc") 'Trueと出力される
        Console.WriteLine(a Like "bc") 'Falseと出力される
    End Sub
End Module

5行目は、Likeで「あ」から始まる文字列か確認しています。Trueになります。「あ」の後にアスタリスク(*)が必要です。
6行目は、「あ」の後にアスタリスクがないのでFalseになります。
8行目は、Likeで「bc」で終わる文字列か確認しています。Trueになります。「bc」の前にアスタリスク(*)が必要です。
9行目は、「bc」の前にアスタリスクがないのでFalseになります。

文字列の長さを取得する(Lengthプロパティ)

文字列の長さを取得するサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "あいうabc"
        Console.WriteLine(a.Length) '6と出力される

        Dim b As String = ""
        Console.WriteLine(b.Length) '0と出力される
    End Sub
End Module

4行目は、Lengthで文字列の長さを取得しています。
7行目のように空文字のときは0が返ります。

文字列がnullまたは空文字か確認する(IsNullOrEmptyメソッド)

文字列がnullまたは空文字か確認するサンプルです。

Module Module1
    Sub Main()

        Dim a As String = Nothing 'null
        Dim b As String = ""

        If String.IsNullOrEmpty(a) Then
            Console.WriteLine("nullです") 'nullですと出力される 
        End If

        If String.IsNullOrEmpty(b) Then
            Console.WriteLine("空です") '空ですと出力される 
        End If

    End Sub
End Module

4行目は、変数にNothingをセットしています。nullです。
5行目は、空文字をセットしています。
7,11行目はそれぞれIsNullOrEmptyメソッドで判定しています。該当するのでTrueが返ります。

文字列を削除する(Remove)

文字列を削除するサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "赤黄青緑白"

        Console.WriteLine(a.Remove(2, 1)) '赤黄緑白
        Console.WriteLine(a.Remove(2, 2)) '赤黄白
        Console.WriteLine(a.Remove(2, 3)) '赤黄
    End Sub
End Module

5~7行目は、文字列の文字を削除しています。
1つ目の引数は開始の位置で、2つめの引数は削除する文字数です。
開始の位置は0から始まります。

文字列の先頭と末尾の空白を削除する(Trimメソッド)

文字列の先頭と末尾の空白を取り除くサンプルです。

Module Module1
    Sub Main()
        Dim a As String = " ABCabc "

        Console.WriteLine(a.Trim) '前後の半角空白を削除

        Console.WriteLine(a.TrimStart) '先頭の半角空白を削除

        Console.WriteLine(a.TrimEnd) '末尾の半角空白を削除
    End Sub
End Module

3行目は、文字列の前後に半角空白があります。
5行目は、Trimメソッドで文字列の前後の空白を削除しています。
7行目のTrimStartは先頭の半角空白を削除します。
9行目のTrimEndは末尾の半角空白を削除します。

文字列を置き換える(Replace)

文字列を置き換えるサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "赤黄青"

        Console.WriteLine(a.Replace("黄", "オレンジ")) '赤オレンジ青
    End Sub
End Module

5行目は、Replaceメソッドで値を指定して文字列を置き換えています。

文字列を分割して配列にする(Split)

文字列を分割して配列にするサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "赤,黄,青"

        Dim b() As String = a.Split(",")

        For Each c In b
            Console.WriteLine(c) '赤 黄 青
        Next
    End Sub
End Module

5行目は、splitメソッドでカンマ区切りで値を配列にしています。

数値(Integer)を文字列にする(ToStringメソッド)

数値(Integer)を文字列にするサンプルです。

Module Module1
    Sub Main()
        Dim a As Integer = 12345
        Console.WriteLine(VarType(a)) '3(Integer)が出力される

        Dim b As String = a.ToString

        Console.WriteLine(VarType(b)) '8(String)が出力されるa
    End Sub
End Module

6行目は、ToStringメソッドで数値を文字列にしています。
VarTypeメソッドはデータ型を調べることができます。

文字列を数値(Integer)にする(Parseメソッド)

文字列を数値(Integer)にするサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "12345"
        Console.WriteLine(VarType(a)) '8(String)が出力される

        Dim b As Integer = Integer.Parse(a)

        Console.WriteLine(VarType(b)) '3(Integer)が出力される
    End Sub
End Module

6行目は、Parseメソッドで文字列を数値にしています。
VarTypeメソッドはデータ型を調べることができます。

英字の大文字と小文字を変換(ToUpper/ToLowerメソッド)

英字の大文字と小文字を変換するサンプルです。

Module Module1
    Sub Main()
        Dim a As String = "ABCabcあいう"

        Console.WriteLine(a.ToUpper) 'ABCABCあいうと出力される

        Console.WriteLine(a.ToLower) 'abcabcあいうと出力される
    End Sub
End Module

3行目は、英字の大文字と小文字と全角文字があります。
5行目は、ToUpperメソッドで英字の小文字を大文字にしています。全角文字は変わっていません。
7行目は、ToLowerメソッドで英字の大文字を小文字にしています。全角文字は変わっていません。

関連の記事

VB.NET for文のサンプル(Exit/Continue)

△上に戻る