VB.NETの文字列型の基本と活用方法を完全ガイド!初心者でもわかるStringの使い方
生徒
「先生、VB.NETで文章や文字を扱うにはどうしたらいいんですか?数字はIntegerとかDoubleって習いましたけど、文字はどの型を使えばいいんですか?」
先生
「文字や文章を扱いたいときはString型を使います。Stringは『文字列』のことで、例えば『こんにちは』や『VB.NET入門』のように文字が並んだデータを保存したり操作したりできます。」
生徒
「なるほど!じゃあ名前や住所みたいな文字を保存するときに使えばいいんですね。」
先生
「その通りです。ではこれから、VB.NETでのString型の基本と活用方法を順番に学んでいきましょう。」
1. VB.NETのString型とは?
String型は、文字や文章を表すためのデータ型です。コンピュータの世界では「文字が並んでいるもの」をまとめて文字列と呼びます。例えば『A』『1』『@』といった単体の記号も文字ですし、『Hello World』や『VB.NETプログラミング』のように複数の文字が並んでいるものも文字列です。
VB.NETでは、文字列を表すときにダブルクォーテーション(" ")で囲みます。例えば"こんにちは"や"123"などです。数字の123を文字列として扱いたい場合も、"123"と書けばString型の値になります。
2. String型の基本的な使い方
まずは文字列を変数に保存して、それを表示する簡単な例を見てみましょう。
Dim name As String = "田中太郎"
Console.WriteLine("私の名前は " & name & " です")
私の名前は 田中太郎 です
ここではDim name As StringでString型の変数nameを作り、その中に「田中太郎」という文字列を入れました。&を使うことで、文字列をつなげることができます。
3. 文字列の結合(つなげる)
文章を作るときに「文字列をつなげる」ことはとてもよくあります。VB.NETでは、&記号を使って文字列を結合できます。
Dim firstName As String = "山田"
Dim lastName As String = "花子"
Dim fullName As String = firstName & " " & lastName
Console.WriteLine("フルネームは " & fullName)
フルネームは 山田 花子
このように、名字と名前を別々のStringで保存しておき、あとから結合することも簡単にできます。
4. 文字列の長さを調べる
プログラムの中で文字列の長さを調べたいときはLengthプロパティを使います。これは「文字が何文字入っているか」を教えてくれます。
Dim text As String = "VB.NET"
Console.WriteLine("文字数は " & text.Length & " です")
文字数は 6 です
この例では「VB.NET」という6文字の文字列なので、Lengthは6になります。
5. 部分的に文字を取り出す
長い文字列から一部だけを取り出すこともできます。VB.NETではSubstringメソッドを使います。
Dim message As String = "こんにちはVB.NET"
Dim part As String = message.Substring(0, 5)
Console.WriteLine(part)
こんにちは
このコードでは「こんにちはVB.NET」という文字列の最初の5文字を取り出しています。Substring(開始位置, 取り出す文字数)の形で使うのが基本です。
6. 文字列の検索
ある文字が文字列の中に含まれているかを調べるときはContainsメソッドやIndexOfメソッドを使います。
Dim sentence As String = "VB.NETはとても楽しい"
Console.WriteLine(sentence.Contains("楽しい"))
Console.WriteLine(sentence.IndexOf("VB"))
True
0
Containsはその文字があるかどうかを調べ、TrueかFalseを返します。IndexOfはその文字がどの位置にあるかを数字で返します。0から数えるので、先頭にあれば0が返ってきます。
7. 大文字・小文字の変換
英語の文字列を扱うときに便利なのが、大文字や小文字に変換する機能です。VB.NETではToUpperやToLowerを使います。
Dim word As String = "VisualBasic"
Console.WriteLine(word.ToUpper())
Console.WriteLine(word.ToLower())
VISUALBASIC
visualbasic
英単語の比較をするときや、入力を統一したいときなどに使われます。
8. 空文字とNull
初心者が混乱しやすいのが「空文字」と「Null」の違いです。空文字は中身が空の文字列で、""と書きます。一方、Nullは「値が存在しない」という意味です。
Dim emptyText As String = ""
Dim nothingText As String = Nothing
Console.WriteLine(emptyText = "")
Console.WriteLine(nothingText Is Nothing)
True
True
「空文字」は存在はしているけど中身がない状態、「Null」はそもそも変数の中身が存在しない状態、と覚えるとわかりやすいです。
まとめ
VB.NETのString型は、プログラムの中でとてもよく使われる基本的なデータ型であり、日常的な名前・住所・メッセージの表示など、あらゆる場面で活躍します。数値型とは違い、文章や記号、空白なども含めて柔軟に扱えるのが文字列型の魅力です。今回の記事では、String型の基本から、結合・検索・部分的な取り出し・大文字小文字の変換など、初歩からよく使う操作まで幅広く学びました。これらの機能はいずれもVB.NETで実際にプログラムを書くときに頻繁に登場し、特にユーザー入力を扱うアプリケーションや、テキスト処理を行う場面では欠かせない知識です。
文字列の扱いに慣れてくると、単なる表示だけでなく、データ検索、条件分岐との組み合わせ、入力チェックなど、より実践的な開発へと応用できるようになります。また、空文字とNullの違いを正しく理解しておくことも重要で、これらを混同してしまうと予期しないエラーの原因になります。String型の扱い方はVB.NETの基礎の中でも特に実用性が高い分野なので、日々のプログラミング練習の中で少しずつ馴染ませていくとよいでしょう。
String型の扱いを広げるサンプルコード
以下は、VB.NETのString型を複数の操作と組み合わせた例です。名前の整形や検索、メッセージ生成など、日常的な処理が一つのコードの中でどのように行われるかが確認できます。
Module StringSample
Sub Main()
' 名前を結合してフルネームを作成
Dim lastName As String = "山田"
Dim firstName As String = "太郎"
Dim fullName As String = lastName & " " & firstName
Console.WriteLine("フルネーム:" & fullName)
' 文字列の長さを確認
Console.WriteLine("名前の文字数:" & fullName.Length & " 文字")
' 部分的な取り出し:苗字だけ取得
Dim extractedLastName As String = fullName.Substring(0, lastName.Length)
Console.WriteLine("苗字部分:" & extractedLastName)
' 検索:「太郎」が含まれているか?
Console.WriteLine("「太郎」を含む?:" & fullName.Contains("太郎"))
' 大文字・小文字の変換(ローマ字の場合に便利)
Dim word As String = "VisualBasic"
Console.WriteLine("大文字:" & word.ToUpper())
Console.WriteLine("小文字:" & word.ToLower())
' 空文字とNullの違いを確認
Dim emptyStr As String = ""
Dim nullStr As String = Nothing
Console.WriteLine("空文字か?:" & (emptyStr = ""))
Console.WriteLine("Nullか?:" & (nullStr Is Nothing))
End Sub
End Module
このサンプルには、文字列の基本操作が一通り含まれています。結合・検索・変換・部分抽出を理解しておくことで、実際のアプリでも柔軟に文字列を扱えるようになります。また、空文字とNullの違いが処理の分岐に影響を与える場面も多いため、丁寧に確認する習慣をつけるとよいでしょう。
VB.NETのString型をより深く理解するための視点
String型をうまく扱うためには、まず「文字列はただの文章ではなく、1文字ずつが連なったデータ」であることを意識すると理解が進みます。Lengthで文字数を調べたり、Substringで部分的に取り出したりする操作は、プログラムが文字をどのように扱っているかを学ぶ良いきっかけになります。また、検索や比較を行うContains、IndexOf、大小の統一を行うToUpper・ToLowerなどのメソッドは、現実のアプリケーションでもよく利用される重要な機能です。
さらに、ユーザー入力に対するバリデーションや、入力内容の整形、ログファイルの作成などでも文字列操作は必須の技術になります。VB.NETの開発を進める中で、String型の扱いが自然と身についていくと、開発の幅がぐっと広がっていきます。
生徒
「先生、String型ってただ文字を扱うだけだと思っていたけれど、いろんな操作があって奥が深いんですね。」
先生
「そうなんですよ。文章をつないだり、必要な部分だけ取り出したり、検索したりと、String型は本当に活躍の場が広いんです。」
生徒
「特にSubstringとContainsの使い方がわかりやすかったです。これなら自分でもいろんな文字列処理が書けそうです!」
先生
「その調子です。文字列操作を覚えると、VB.NETで作れるアプリケーションが一気に増えますよ。」
生徒
「空文字とNullの違いも意外でした。今後のコードでも気をつけて扱ってみます!」
先生
「丁寧に扱うとエラーを減らせます。これからもString型を味方にしながら、VB.NETの学習を進めていきましょう。」