VB.NETのSplitメソッドで文字列を分割して配列にするサンプルです。
目次
説明 | Splitメソッド |
サンプル | カンマで区切る |
タブで区切る | |
半角スペースで区切る | |
区切り文字が複数ある場合 | |
年月日のスラッシュで区切る |
Splitメソッド
Public Function Split (ParamArray separator As Char()) As String() |
- 引数にマッチすると、そこで文字列を区切ります。
- 戻り値は文字列の配列を返します。
- 以下はMDNのString.Splitメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.split?view=netcore-3.1
カンマで区切る
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メソッド)