カテゴリ: VB.NET 更新日: 2026/02/13

VB.NETで文字列の長さを取得!Lengthプロパティの使い方を徹底解説

VB.NETで文字列の長さを取得する方法(Lengthプロパティ)
VB.NETで文字列の長さを取得する方法(Lengthプロパティ)

先生と生徒の会話形式で理解しよう

生徒

「VB.NETで、入力された文字が全部で何文字あるか数える方法はありますか?」

先生

「VB.NETでは、Lengthプロパティを使うことで、とても簡単に文字列の長さを取得することができますよ。」

生徒

「プロパティ…?具体的にはどのようにコードを書けばいいんですか?」

先生

「それでは、初心者の方でもすぐに使える基本的な使い方を詳しく見ていきましょう!」

1. 文字列の長さを取得するLengthプロパティとは?

1. 文字列の長さを取得するLengthプロパティとは?
1. 文字列の長さを取得するLengthプロパティとは?

プログラミングの世界では、文字の集まりのことを「文字列(もじれつ)」と呼びます。例えば、「こんにちは」や「Visual Basic」といった言葉がすべて文字列です。そして、この文字列が全部で何文字あるのかを調べることを「長さを取得する」と言います。

VB.NET(ブイビー・ドットネット)というプログラミング言語には、この文字数を数えるための専用の道具として「Length(レングス)プロパティ」が用意されています。

ここで言う「プロパティ」とは、その対象(文字列)が持っている「特徴」や「データ」のことだと考えてください。例えば、リンゴという対象があれば「色」や「重さ」というプロパティがあるように、文字列という対象には「長さ」というプロパティが備わっているのです。

2. Lengthプロパティの基本的な書き方

2. Lengthプロパティの基本的な書き方
2. Lengthプロパティの基本的な書き方

使い方はとてもシンプルです。文字列が入っている変数の後ろに「.(ドット)」をつけて、その後に「Length」と書くだけで、その文字数が数字として返ってきます。

例えば、名前を登録するシステムを作っていて、名前が何文字以上でなければならない、といったルール(バリデーションといいます)を作る際によく使われます。


Dim message As String = "Hello"
Dim mojiSu As Integer = message.Length

Console.WriteLine(mojiSu) '結果として5が表示されます

5

上記のコードでは、「Hello」という5文字の単語を変数に入れています。その変数に対して.Lengthを実行すると、「5」という数字が導き出されます。

3. 半角文字と全角文字の数え方の違い

3. 半角文字と全角文字の数え方の違い
3. 半角文字と全角文字の数え方の違い

パソコン初心者の方が一番気になるのが、「漢字やひらがなはどう数えられるの?」という点ではないでしょうか。昔のプログラムでは、全角文字を2文字分として数えることがありましたが、VB.NETのLengthプロパティは非常に親切です。

半角のアルファベットも、全角の漢字やひらがなも、すべて「1文字」として正しく数えてくれます。これを「文字ベースのカウント」と呼びます。


Dim aisatsu As String = "こんにちは日本"
Console.WriteLine(aisatsu.Length) '結果は7が表示されます

7

「こ・ん・に・ち・は・日・本」の合計7文字がそのままカウントされているのがわかりますね。これなら、文字数をチェックするプログラムも迷わずに作ることができます。

4. 空白やスペースも文字数に含まれる?

4. 空白やスペースも文字数に含まれる?
4. 空白やスペースも文字数に含まれる?

プログラミングで注意が必要なのが、「スペース(空白)」の扱いです。私たちの目には何も見えませんが、コンピュータにとってはスペースも立派な「1文字」として認識されます。

例えば、名字と名前の間にスペースを入れた場合、そのスペースもしっかりとカウントされます。


Dim fullName As String = "田中 太郎" '名字と名前の間に半角スペース
Console.WriteLine(fullName.Length) '「田中」「 」「太郎」で5文字になります

5

このように、目に見える文字だけでなく、隙間に入れたスペースも1文字として数えられることを覚えておきましょう。文字数制限があるシステムを作る際は、この点に注意が必要です。

5. 空の文字列や何もない場合のカウント

5. 空の文字列や何もない場合のカウント
5. 空の文字列や何もない場合のカウント

もし、変数の中に何も文字が入っていない場合はどうなるでしょうか?プログラムでは、ダブルクォーテーションを2つ並べた""を「空文字(からもじ)」と呼びます。

空文字の長さを測ると、もちろん結果は「0」になります。


Dim emptyText As String = ""
Console.WriteLine(emptyText.Length) '結果は0になります

0

ただし、一つだけ怖いエラー(間違い)のパターンがあります。それは、変数そのものが「何もない(Nothing)」状態のときです。これを専門用語で「Null(ヌル)」や「Nothing(ナッシング)」と言います。

箱(変数)そのものが用意されていない状態で「中身の文字数を教えて!」と命令すると、コンピュータが困ってしまい、「NullReferenceException(ヌル・リファレンス・エクセプション)」というエラーで止まってしまいます。これを防ぐために、文字数を数える前には文字がちゃんと存在するかを確認することが大切です。

6. if文と組み合わせて文字数チェックを作ってみよう

6. if文と組み合わせて文字数チェックを作ってみよう
6. if文と組み合わせて文字数チェックを作ってみよう

それでは、学んだ知識を組み合わせて実用的なプログラムをイメージしてみましょう。パスワードの設定画面などで、「8文字以上入力してください」という警告を出すような仕組みです。


Dim password As String = "abc12"

If password.Length < 8 Then
    Console.WriteLine("エラー:パスワードは8文字以上で入力してください。")
Else
    Console.WriteLine("パスワードの長さは問題ありません。")
End If

エラー:パスワードは8文字以上で入力してください。

この例では、password.Lengthが「5」だったので、8より小さいという条件に当てはまり、エラーメッセージが表示されました。このように、LengthIf文とセットで使われることが非常に多いです。

7. 文字列が長い場合の注意点と改行コード

7. 文字列が長い場合の注意点と改行コード
7. 文字列が長い場合の注意点と改行コード

長い文章(長文)を扱うとき、もう一つ知っておくべきことがあります。それは「改行(かいぎょう)」です。文章の途中でエンターキーを押して行を変えた場合、そこには「改行コード」という特殊な文字が隠れています。

VB.NETのLengthプロパティは、この改行コードも文字としてカウントします。Windowsの標準的な改行(vbCrLfといいます)は、実は「2文字分」として数えられることが多いです。

メモ帳などで文字数を数えるときと、プログラムで数えるときで結果が1~2文字ズレることがあるのは、この目に見えない「改行文字」や「特殊な制御文字」が原因であることが多いのです。

8. Lengthプロパティのまとめと活用のコツ

8. Lengthプロパティのまとめと活用のコツ
8. Lengthプロパティのまとめと活用のコツ

文字列の長さを知ることは、あらゆるプログラムの基本となります。データの入力を受け付けるとき、画面に文字を表示するとき、あるいは文字を切り取ったり加工したりするときも、まずは「今、何文字あるのか」を把握することから始まります。

最後に重要なポイントを整理しておきましょう。

  • 書き方は「文字列変数.Length」とするだけ。
  • 漢字、ひらがな、アルファベットすべて1文字で数える。
  • スペース(空白)も1文字としてカウントされる。
  • 変数がNothing(空っぽ)だとエラーになるので注意。

まずは自分で色々な言葉を変数に入れて、文字数がどう変化するか試してみてくださいね。プログラムが正しく文字を数えてくれる感覚を掴むことが、上達への近道です。

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NETのクロスサイトスクリプティング(XSS)を完全解説!初心者でもわかる仕組みと対策
New2
VB.NET
VB.NETの文字列置換を完全解説!初心者でもわかるReplaceメソッドの使い方
New3
ASP.NET
ASP.NETのセキュリティ対策を完全ガイド!初心者でもわかるXSS・CSRF・SQLインジェクションの基本
New4
VB.NET
VB.NETで文字列を検索する方法をマスター!IndexOfとContainsの使い方を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのコレクション操作でよくあるエラーと解決策!初心者向けトラブル脱出ガイド
No.2
Java&Spring記事人気No2
VB.NET
VB.NETで文字列を連結する方法を完全ガイド!&演算子とString.Concatの使い方
No.3
Java&Spring記事人気No3
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.4
Java&Spring記事人気No4
VB.NET
VB.NETの文字列操作を完全ガイド!初心者が覚えるべき基本と宣言方法
No.5
Java&Spring記事人気No5
ASP.NET
ASP.NETの認証と認可の違いを完全解説!初心者でもわかるOAuth・JWT・Azure ADの基本
No.6
Java&Spring記事人気No6
ASP.NET
ASP.NET MVCでセッションを使う方法を完全解説!初心者でもわかる状態管理入門
No.7
Java&Spring記事人気No7
VB.NET
VB.NETでコレクションをソートする方法を完全ガイド!並び替えの基本
No.8
Java&Spring記事人気No8
ASP.NET
ASP.NETの認証の仕組みを完全解説!初心者でもわかるログインの基本