[BASICのはじめ方] Part10: 文字列の結合と切り出し(LEFT$, MID$, RIGHT$)

BASIC

はじめに

プログラミングでは、数値だけでなく文字列を扱うことも非常に多いです。ユーザーからの入力を受け取ったり、メッセージを表示したり、ファイルにデータを記録したりする際に文字列操作は欠かせません。

このステップでは、BASICで文字列を結合したり、必要な部分だけを切り出したりする方法を学びます。これらの関数をマスターすれば、文字列をより自由に扱えるようになりますよ!💪

文字列の結合(+ 演算子)

複数の文字列を繋ぎ合わせて一つの文字列にするには、+ 演算子を使います。これは数値の足し算と同じ記号ですが、文字列に対して使うと結合する働きをします。

例を見てみましょう。

DIM FirstName AS STRING
DIM LastName AS STRING
DIM FullName AS STRING

FirstName = "Taro"
LastName = "Yamada"

' + 演算子で文字列を結合
FullName = FirstName + " " + LastName

PRINT FullName

実行結果:

Taro Yamada

このように、変数に入った文字列や、直接書いた文字列(リテラル)を + で繋ぐことができます。姓と名の間にスペースを入れるために、" " という空白文字も結合している点に注目してください。👀

⚠️ 注意: BASICの方言によっては、文字列の結合に & 演算子を使う場合もあります。また、数値と文字列を直接 + で結合しようとするとエラーになることがあるため、数値を文字列に変換する関数(後述の STR$ など)を使う必要があります。

文字列の切り出し(LEFT$, RIGHT$, MID$)

長い文字列の中から、特定の部分だけを取り出したい場合があります。BASICにはそのための便利な関数が用意されています。

LEFT$: 文字列の左側から切り出す

LEFT$(文字列, 文字数) は、指定した文字列の左端から、指定した文字数分だけを切り出して返します。

DIM MyString AS STRING
DIM LeftPart AS STRING

MyString = "ABCDEFGHIJ"

' 左から3文字を切り出す
LeftPart = LEFT$(MyString, 3)

PRINT LeftPart

実行結果:

ABC

RIGHT$: 文字列の右側から切り出す

RIGHT$(文字列, 文字数) は、指定した文字列の右端から、指定した文字数分だけを切り出して返します。

DIM MyString AS STRING
DIM RightPart AS STRING

MyString = "ABCDEFGHIJ"

' 右から4文字を切り出す
RightPart = RIGHT$(MyString, 4)

PRINT RightPart

実行結果:

GHIJ

MID$: 文字列の途中から切り出す

MID$(文字列, 開始位置, 文字数) は、指定した文字列の指定した位置から、指定した文字数分だけを切り出して返します。開始位置は文字列の左端を1番目として数えます。

DIM MyString AS STRING
DIM MidPart AS STRING

MyString = "ABCDEFGHIJ"

' 3番目の文字から5文字分を切り出す
MidPart = MID$(MyString, 3, 5)

PRINT MidPart

実行結果:

CDEFG

MID$ 関数は、最後の引数である「文字数」を省略することもできます。省略した場合、開始位置から文字列の最後までが切り出されます。

DIM MyString AS STRING
DIM MidPartToEnd AS STRING

MyString = "ABCDEFGHIJ"

' 6番目の文字から最後までを切り出す
MidPartToEnd = MID$(MyString, 6)

PRINT MidPartToEnd

実行結果:

FGHIJ

💡 ヒント: これらの関数名の最後についている $ 記号は、その関数が文字列を返すことを示す、古いBASICの名残です。最近のBASIC(FreeBASICなど)では、$ がなくても動作することが多いですが、互換性のために付けておくのが無難です。

応用例:郵便番号から市外局番を取り出す

これらの関数を組み合わせると、様々な文字列処理が可能です。例えば、日本の郵便番号(例: “100-0001″)から最初の3桁を取り出してみましょう。

DIM ZipCode AS STRING
DIM FirstThree AS STRING

INPUT "郵便番号を入力してください (例: 100-0001): ", ZipCode

' LEFT$を使って最初の3文字を取り出す
FirstThree = LEFT$(ZipCode, 3)

PRINT "最初の3桁は "; FirstThree; " です。"

もし、ハイフン(-)の位置が分かっているなら、MID$ を使ってハイフン以降の部分を取り出すこともできますね。

まとめ

今回は、BASICで文字列を操作する基本的な方法として、以下の内容を学びました。

  • 文字列の結合: + 演算子
  • 文字列の切り出し(左から): LEFT$ 関数
  • 文字列の切り出し(右から): RIGHT$ 関数
  • 文字列の切り出し(途中から): MID$ 関数

これらの関数は、テキストデータを扱うプログラムを作る上で非常に重要です。しっかり使い方を覚えて、色々な場面で活用してみてください!🎉

次のステップでは、数値と文字列を相互に変換する方法 (STR$, VAL) を学びます。お楽しみに!

コメント

タイトルとURLをコピーしました