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

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

確認環境
・Microsoft Visual Studio Community 2019

目次

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

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

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

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

        '変数の値を結合
        Dim a As String = "か"
        Dim b As String = "き"
        Console.WriteLine(a + b) 'かきと出力される  
        Console.WriteLine(a & b) 'かきと出力される  
    End Sub
End Module

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

文字列を結合する(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) '赤黄青

		Dim c As String = String.Join("-", a)
		Console.WriteLine(c) '赤-黄-青
	End Sub
End Module

Joinの1つめの引数の文字で配列の値を繋げます。

文字列を追加する(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文で文字を繰り返して表示しています。

頭ゼロを追加する(PadLeft)

頭ゼロを追加するサンプルです。

Module Module1
	Sub Main()
		Dim a As String = "9"
		Console.WriteLine(a.PadLeft(3, "0")) '009
		Console.WriteLine(a.PadLeft(5, "0")) '00009

		Dim b As String = "90"
		Console.WriteLine(b.PadLeft(3, "0")) '090
		Console.WriteLine(b.PadLeft(5, "0")) '00090
	End Sub
End Module

PadLeftメソッドの1つめの引数は、桁数です。
指定した桁数内で、2つめの引数の値が頭に追加されます。
padは、詰め物という意味です。

指定した位置の文字を取得する(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 です。

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

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

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

        Console.WriteLine(a.IndexOf("い")) '1と出力される
        Console.WriteLine(a.IndexOf("b")) '4と出力される
        Console.WriteLine(a.IndexOf("か")) '-1と出力される
    End Sub
End Module

5,6行目は、IndexOfメソッドで引数の文字の位置を返します。
最初の文字は、0から始まります。
7行目は、対象の文字列に指定の文字がないので-1が返ります。

文字の位置を返す(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が返ります。

文字列が含まれているか真偽値を返す(Contains)

文字列が含まれているか真偽値を返すサンプルです。

Module Module1
	Sub Main()
		Dim a As String = "12345"
		Console.WriteLine(a.Contains(3)) 'Trueが出力される
		Console.WriteLine(a.Contains(9)) 'Falseが出力される

		Dim b As String = "あいうえお"
		Console.WriteLine(b.Contains("うえ")) 'Trueが出力される
		Console.WriteLine(b.Contains("うお")) 'Falseが出力される
	End Sub
End Module

Containsメソッドは、文字列に指定の文字列がある場合Trueを返します。

文字列が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("青", "blue")) '赤blue黄blue
	End Sub
End Module

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

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

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

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

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

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

5行目は、splitメソッドでカンマ区切りにして配列にしています。
6行目は、ダブルコーテーションの後にcがあります。
これはカンマがChar型であることを示しています。結果は5行目と同じになります。

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

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

Module Module1
    Sub Main()
        Dim a As Integer = 12345
        Dim b As String = a.ToString

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

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

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

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

Module Module1
    Sub Main()
        Dim a As String = "12345"
        Dim b As Integer = Integer.Parse(a)

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

4行目は、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)

△上に戻る