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

VB.NETのSplitメソッドで文字列を分割して配列にするサンプルです。

目次

説明 Splitメソッド
サンプル カンマで区切る
  タブで区切る
  半角スペースで区切る
  区切り文字が複数ある場合
  年月日のスラッシュで区切る

Splitメソッド

Public Function Split (ParamArray separator As Char()) As String()

カンマで区切る

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

		Console.WriteLine(b(0)) '赤
	End Sub
End Module

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

タブで区切る

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

		Dim b() As String = a.Split(vbTab)

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

		Console.WriteLine(b(0)) '赤
	End Sub
End Module

5行目は、定数のvbTabを指定して配列にしています。

半角スペースで区切る

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

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

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

		Console.WriteLine(b(0)) '赤
	End Sub
End Module

5行目は、半角のスペースを指定して配列にしています。

区切り文字が複数ある場合

Module Module1
	Sub Main()
		Dim a As String = "file001-1.txt"

		Dim c() As String = a.Split(New [Char]() {"-"c, "."c})

		For Each d In c
			Console.WriteLine(d) 'file001 1 txt
		Next

		Console.WriteLine(c(0)) 'file001
	End Sub
End Module

5行目のSplitメソッドの引数は、Char型の配列です。ハイフン(-)とコロン(.)を指定しています。
cは、前の項目がChar型であることを示しています。
コロン(.)の後にさらに区切り文字を追加していけます。

年月日のスラッシュで区切る

Module Module1
	Sub Main()
		Dim a As String = "2020/05/21"

		Dim c() As String = a.Split("/"c)

		For Each d In c
			Console.WriteLine(d) '2020 05 21
		Next

		Console.WriteLine(c(0)) '2020
	End Sub
End Module

5行目は、スラッシュで分割します。
cは、対象の文字がChar型であることを示しています。

関連の記事

VB.NET 文字列を操作するサンプル
VB.NET 文字列の始まり/終わりを確認(StartsWith/EndsWith)
VB.NET 文字列の位置を取得(IndexOf/LastIndexOf)
VB.NET 正規表現で真偽値を返す(IsMatchメソッド)

△上に戻る