PRIMG0001
 毎週金曜日、プログラミングのちょっとした講座を記しています。
 ここでは、小学校から「プログラミング」が必須項目になってしまったため、お父さん・お母さん・おじいちゃん・おねえちゃんが子供に「プログラミング」教えることができるように、ここでこっそりと勉強してしまおうという企画です。
 今週も引き続き「文字列操作」について説明していきます。

 今回は抽出について勉強していきます。文字列の抽出の仕方はいろいろなパターンがあります。

 まず、先頭から指定した文字数分の文字を含む文字列を抽出する場合、Left関数を使用します。Left関数の使用方法は次の通りです。
 
元の文字列から指定された長さが抽出された文字列=Left(元の文字列, 抽出する長さ)


Dim A as string
Dim B as string
A = ”生麦生米生卵”
B = Left(A,2)

上記の場合、Bには「生麦」が返されます。

 Left関数は文字数で抽出するのに対し、文字数ではなくバイト数で抽出する場合はLeftB関数を使用します。LeftBの使用方法は次の通りです。


 元の文字列から指定されたバイト数抽出された文字列=Left(元の文字列,抽出するバイト数)

 先ほど上記のプログラムと同じ結果を得られるように、バイト数の抽出LeftBを使用する場合、全角文字1文字は2バイトとなりますので、下記のようになります。


Dim A as string
Dim B as string
A = ”生麦生米生卵”
B = LeftB(A,4)


 Left・LeftB関数は文字列の先頭から抽出するのに対し、文字列の最後尾から指定文字数分だけ文字列を抜き出す関数もあります。最後尾から抽出する場合はRight関数となります。Right関数の使用方法は次の通りです。


元の文字列の最後尾から指定された長さが抽出された文字列=Right(元の文字列, 抽出する長さ)


Dim A as string
Dim B as string
A = ”生麦生米生卵”
B = Right(A,2)

上記の場合、結果は「生卵」となります。

同様にバイト数で抽出するものもあります。RightB関数です。RightB関数の使用方法は次の通りです。
元の文字列の最後尾から指定されたバイト数抽出された文字列=Right(元の文字列, 抽出するバイト数)

上記のプログラムと同様の結果が得られるようにRightB関数を使用する場合、次の通りとなります。


Dim A as string
Dim B as string
A = ”生麦生米生卵”
B = RightB(A,4)



余談:Left関数は先頭から、Right関数は最後尾からと説明しましたが、実はアラビア語の場合、まったく逆になります。Left関数は最後尾から、Right関数は先頭からとなります。これはアラビア語の場合、日本や英語のように左から右への記載ではなく、逆の右から左への記載の流れになります。そのため、アラビア語の場合、Leftが最後尾になり、Rightが先頭になります。


 最後にある文字列の中の指定位置から指定文字数分だけ抜き出す場合、Mid関数を使用します。Mid関数の使用方法は次の通りです。

 抽出された文字列=Mid(抽出される文字列, 抽出する文字の開始位置,長さ)
 長さに関しては省略可能。省略した場合は抽出する文字の開始位置から後ろすべて

Dim A as string
Dim B as string
A = ”生麦生米生卵”
B = Mid(A,2,2)

上記の場合、Bの結果は「生米」となります。



 本日はここまでとなります。