VB.NETで文字列を大文字・小文字に変換!ToUpperとToLowerの使い方を徹底解説
生徒
「VB.NETで、入力されたアルファベットを全部大文字にしたり、逆に小文字にしたりする方法はありますか?」
先生
「はい、VB.NETには文字列を操作するための便利な機能が備わっています。ToUpperメソッドとToLowerメソッドを使えば、一瞬で変換できますよ。」
生徒
「メソッドって何ですか?難しそうですが、初心者でも簡単に使えますか?」
先生
「メソッドというのは、コンピュータにお願いする命令のようなものです。今回はその具体的な書き方を、基本から丁寧に説明していきますね!」
1. VB.NETの文字列操作とは?
プログラミングの世界では、名前や住所、メールアドレスなどの文字情報のことを文字列(もじれつ)と呼びます。VB.NET(ヴィジュアルベーシック・ドットネット)というプログラミング言語は、この文字列を加工したり、整えたりするのが非常に得意な言語です。
例えば、ユーザーがWebフォームにメールアドレスを入力したとき、ある人は大文字で書き、ある人は小文字で書くかもしれません。しかし、システム内部ではどちらかに統一しておかないと、データの検索や比較がうまくできないことがあります。そんな時に役立つのが、今回学習するToUpper(トゥー・アッパー)とToLower(トゥー・ロワー)です。これらは「大文字に変換してね」「小文字に変換してね」という専用の命令になります。
2. 全てを大文字に変えるToUpperメソッド
まずは、アルファベットの小文字をすべて大文字に変換する方法を見ていきましょう。これにはToUpperメソッドを使用します。英語の「Upper Case(アッパーケース)」は「大文字」という意味があります。パソコンのキーボードで「Shiftキー」を押しながら文字を打つのと同じ効果を、プログラムで自動的に行ってくれるイメージです。
この機能は、特に英単語の強調表示や、IDの一致確認などでよく使われます。まずは、最もシンプルなコードを書いてみましょう。以下の例では、変数に入れた小文字の「apple」を大文字の「APPLE」に変換しています。
Dim fruit As String = "apple"
Dim upperFruit As String = fruit.ToUpper()
Console.WriteLine(upperFruit) 'APPLEと表示される
このコードの中で「Dim」というのは、これからデータを入れるための箱(変数)を用意するという宣言です。「String」は、その箱に入れる中身が文字列であることを指定しています。そして、変数名の後ろに「.ToUpper()」と付けるだけで、中身がすべて大文字に変わります。
3. 全てを小文字に変えるToLowerメソッド
次に、大文字をすべて小文字に変換する方法を学びましょう。これにはToLowerメソッドを使います。「Lower Case(ロワーケース)」は「小文字」を意味します。例えば、叫んでいるような大文字の「HELLO」を、落ち着いた小文字の「hello」に変えたい時に便利です。
実務的な場面では、検索機能を作るときに役立ちます。検索ワードを一度すべて小文字に変換してから比較することで、大文字と小文字の打ち間違いを気にせずに検索結果を出せるようになるからです。それでは、プログラムの例を確認してみましょう。
Dim greeting As String = "HELLO WORLD"
Dim lowerGreeting As String = greeting.ToLower()
Console.WriteLine(lowerGreeting) 'hello worldと表示される
実行結果は以下のようになります。
hello world
このように、元の文字列がどんなに大きな文字であっても、この命令ひとつで整えることができます。プログラミング未経験の方でも、この「点(ドット)」でつなぐ書き方さえ覚えれば、すぐに使いこなせるようになります。
4. メソッドを使うときの注意点と日本語の扱い
ここで、初心者がつまずきやすいポイントについて解説します。ToUpperやToLowerは、あくまでアルファベット(半角英字)に対して働く機能です。では、日本語のひらがなや漢字に対して使ったらどうなるでしょうか?
実は、日本語に「大文字・小文字」という概念はないため、ひらがなや漢字に対してこれらのメソッドを使っても、文字は変化せずにそのまま出力されます。エラーになってプログラムが止まってしまうことはありませんが、何も起きないということを知っておくのは大切です。また、全角のアルファベットも変換の対象になります。
Dim mixingText As String = "VBドットネット学習中"
Dim resultText As String = mixingText.ToLower()
Console.WriteLine(resultText) 'vbドットネット学習中と表示される
上記の例では、大文字の「VB」だけが小文字の「vb」に変わり、日本語の部分はそのまま維持されています。このように、英字が含まれる混在した文章でも、英字部分だけを狙って変換してくれます。
5. 実践的な使い方!条件分岐との組み合わせ
変換した文字列をそのまま表示するだけでなく、If文(イフぶん)という条件分岐と組み合わせてみましょう。条件分岐とは、「もし~なら、こうする」という判断をプログラムに行わせることです。ユーザーが入力した文字が、大文字だろうが小文字だろうが正しく「OK」と判定する仕組みを作ってみます。
Dim inputSecret As String = "Password" 'ユーザーが入力したと仮定
'入力された文字をすべて小文字に変換してから比較する
If inputSecret.ToLower() = "password" Then
Console.WriteLine("ログイン成功!")
Else
Console.WriteLine("パスワードが違います。")
End If
このプログラムでは、ユーザーが「PASSWORD」と打っても「password」と打っても、一度すべて小文字に統一してから判定しているので、どちらでも正解になります。このように、データの表記揺れを防ぐために文字列操作は欠かせない技術なのです。
6. メソッドチェーン!複数の命令を繋げる方法
VB.NETの面白い特徴として、命令を鎖のように繋げて書くことができるメソッドチェーンという技があります。例えば、文字列の前後にある余計なスペースを消してから、大文字に変換するという一連の動きを一行で書くことができます。
余計な空白を消すには「Trim(トリム)」というメソッドを使います。これと「ToUpper」を組み合わせてみましょう。パソコン操作に慣れていない方が、ついつい入れてしまう前後のスペースも、これで綺麗に掃除できます。
Dim rawData As String = " visual basic "
Dim cleanData As String = rawData.Trim().ToUpper()
Console.WriteLine("「" & cleanData & "」") '「VISUAL BASIC」と表示される
実行結果は以下のようになります。
「VISUAL BASIC」
このように、「.(ドット)」で命令をつなぐことで、左から順番に処理が行われます。まずTrimで空白が消え、その後にToUpperで大文字になるという流れです。これをマスターすると、コードが非常にスッキリとして読みやすくなります。
7. 文字列操作がプログラミングの第一歩
いかがでしたでしょうか。今回はVB.NETの基本的な文字列操作である、ToUpperとToLowerについて解説しました。プログラミングと聞くと、難しい数学のようなイメージを持つかもしれませんが、実際にはこのように「文字を整える」といった、事務作業の延長線上にあるような処理もたくさんあります。
今回学んだことを応用すれば、ユーザーにとって使いやすい親切なソフトを作ることができます。大文字と小文字の区別をコンピュータに丸投げできるのは、開発者にとっても非常に楽なことです。まずは自分で色々な英単語を変数に入れて、変換の結果がどうなるかを試してみてください。自分の書いた命令で文字が変わる様子を見るのは、プログラミングの楽しさを知る第一歩になります。
VB.NETには、この他にも文字を切り取ったり、別の文字に置き換えたりする機能がたくさんあります。一つずつ覚えていくことで、できることの幅がどんどん広がっていきますよ。焦らずに、まずはこの大文字・小文字の変換から手に馴染ませていきましょう。