VB.netでは文字列の操作が頻繁に行われます。
本記事では、VB.netで文字列を切り出す方法について先頭からの切り出しと後ろからの切り出しの二つのケースに焦点を当てて説明します。
これにより文字列の特定の部分にアクセスするスキルを向上させましょう。
Substringで先頭から文字列を切り出し
VB.netで文字列の先頭から特定の部分を切り出すには、Substringメソッドを使用します。
Dim originalString As String = "Hello, VB.net World!"
Dim lengthToTake As Integer = 5
Dim extractedString As String = originalString.Substring(0, lengthToTake)
Console.WriteLine(extractedString)
この例では、originalStringから先頭から5文字を切り出し、extractedStringに格納しています。
Substringメソッドの第一引数は開始位置、第二引数は切り出す文字数です。
ToCharArrayで前から文字列を抽出
ToCharArrayメソッドを使って文字列を文字の配列に変換しそれを再度文字列に結合する方法もあります。
Dim originalString As String = "Hello, VB.net World!"
Dim lengthToTake As Integer = 5
Dim charArray() As Char = originalString.ToCharArray()
Dim extractedString As String = New String(charArray.Take(lengthToTake).ToArray())
Console.WriteLine(extractedString)
この方法ではまずToCharArrayメソッドで文字列を文字の配列に変換し、LINQのTakeメソッドを使用して先頭から指定の文字数だけ要素を取得し最後にNew Stringコンストラクタで再度文字列に変換しています。
Substring以外にLeft, Right関数で簡単に左右の切り出しできたりするよ
Substringで後ろから文字列を切り出し
後ろから文字列を切り出すには、Substringメソッドを組み合わせて使用します。
具体的には文字列の長さを取得しそれを基準にして切り出します。
Dim originalString As String = "Hello, VB.net World!"
Dim lengthToTake As Integer = 5
Dim extractedString As String = originalString.Substring(originalString.Length - lengthToTake, lengthToTake)
Console.WriteLine(extractedString)
この例では、originalStringから後ろから5文字を切り出しています。
Substringメソッドの第一引数は切り出しの開始位置ですがここでは文字列の長さから引かれた値を使用しています。
LINQのSkipで後ろから文字列を抽出
Dim originalString As String = "Hello, VB.net World!"
Dim lengthToTake As Integer = 5
Dim extractedString As String = New String(originalString.Reverse().Take(lengthToTake).Reverse().ToArray())
Console.WriteLine(extractedString)
この方法では、Reverseメソッドで文字列を反転させ、Takeメソッドを使用して先頭から指定の文字数だけ取得し、再度Reverseメソッドで元に戻しています。
最後にNew Stringコンストラクタで再度文字列に変換しています。
まとめ
VB.netで文字列を切り出す方法について先頭から切り出す方法と後ろから切り出す方法を簡潔に解説しました。
これらの基本的な操作を理解することで文字列の取り扱いにおいてより自在に作業できるようになります
指定文字での切り出しや指定文字以降すべて出力したい時は以下記事で紹介してますので是非見ていってください。