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メソッドに引数の渡すパターンがあります。
詳しくは公式のこちらを確認してみてください。
コメント