VB.NETで文字列を分割する方法!サンプル3選(Splitメソッド)

VB.NET VB.NET

VB.NETで文字列を分割する方法について書いています。
文字列を分割する場合にはSplitメソッドを呼んで分割すると良いです。

まず簡単にSplitメソッドについて解説して、その後に3つのサンプルコードを記載しました。
載せているコードについては、.Netのバージョン7で確認しました。

Splitメソッドの使い方

Splitメソッドは文字列から呼び出して使うことができます。
例えば、下記のように使うことが可能です。

Dim zipCode As String = "810-1234"
Dim splitCodes() As String = zipCode.Split("-")

Console.WriteLine(splitCodes(0) + splitCodes(1)) ' 8101234

Splitメソッドを使って、郵便番号からハイフンを削除しています。
最初にzipCode変数にハイフンが入った郵便番号の「810-1234」を入れています。

そして、zipCode変数からSplitメソッドを呼んでいます。
引数に渡しているのは、区切り文字です。
今回は「-」を渡しているので、ハイフンで文字列を分割します。

分割した文字列は、文字列の配列として返ってきます。
返ってきた配列をsplitCodes変数に格納しました。

最後にConsole.WriteLineで出力しました。
splitCodes(0)で先頭の「810」を取り出して、次のsplitCodes(1)で末尾の「1234」を取り出しています。
ふたつの文字列を結合して、結果「8101234」が出力されました。

このようにSplitメソッドを使うことで、指定した文字で文字列を分割してくれます。

Splitメソッドを使ったサンプルコード3選

Splitメソッドを使って、文字列を分割してみました。
下記の3つの内容で分割してみました。

・カンマ区切り
・文字列
・改行コード

カンマ区切りで分割する

カンマ区切りの文字列を分割します。

Dim fruits As String = "apple,grape,orange,lemon"

Dim splitFruits = fruits.Split(",")

For Each fruit in splitFruits
    Console.WriteLine(fruit)
Next

最初にfruits変数に果物名をカンマ区切りで設定しています。
次の行で、fruits変数からSplitメソッドを呼び出して、カンマ区切りで分割しました。

分割した内容をsplitFruits変数に入れています。
そのあとに、For Each文でループして内容を出力しました。

実行すると、下記のように分割されたことが確認できました。

apple
grape
orange
lemon

文字列で分割する

特定の文字列で、文字列を分割します。
最初の解説と同様にして、文字列を渡すと、その文字で分割してくれます。

Dim splitText As String = "test123abc123apple123beer"
Dim splitTexts() = splitText.Split("123")

For Each item in splitTexts
    Console.WriteLine(item)
Next

最初にsplitText変数に適当な文字列を「123」という文字列で区切って設定しています。
次の行で、splitText変数からSplitメソッドを呼び出して「123」を渡しています。

渡した文字列で分割されて、結果がsplitTexts変数に設定されます。
最後にFor Each文でループして内容を出力しました。

出力を確認すると、下記のように分割されたことが確認できました。

test
abc
apple
beer

改行コードで分割する

改行コードで分割したいときには、改行コード(\nまたはvbCrLf)を渡してあげると良いです。

Dim fruitsText As String = "apple" & vbCrLf & "grape"  & vbCrLf &  "orange"
Dim splitFruits() = fruitsText.Split(vbCrLf)

For Each fruit in splitFruits
    Console.WriteLine(fruit)
Next

最初にfruitsText変数に対して、改行コード(vbCrLf)で区切った果物名を入れています。
次の行で、Splitメソッドを使って分割しています。

vbCrLfを渡しているので、改行コードで分割されて、結果がsplitFruits変数に返ってきます。
渡す改行コードは「\n」でも同じように処理されます。

最後にFor Each文で確認すると、下記のように分割されて出力されました。

apple
grape
orange

おわりに

今回はVB.NETで文字列を分割してみました。
Splitメソッドを使うことで、文字列の分割ができました。

今回試した使い方以外にも、Splitメソッドに引数の渡すパターンがあります。
詳しくは公式のこちらを確認してみてください。

コメント

タイトルとURLをコピーしました