指定文字列の右端(終わり)から、指定数分の文字列を取得する関数です。
関数仕様
構文 |
Right(string, length) |
引数 |
引数 |
省略 |
説明 |
string |
不可 |
任意の文字列式を指定します。 |
length |
不可 |
切り出す文字列の文字数を指定します。 |
|
戻り値 |
バリアント型(内部処理形式 String の Variant) |
この関数は、引数で指定した文字列の右端(終わり)から、指定数分の文字列を取得し、その値をバリアント型(内部処理形式 String の Variant)で返します。 切り出す文字数に、指定文字列の文字数以上の数値を指定した場合は、文字列がそのまま返ります。 負数を指定した場合は実行時エラーが発生します。 また、0 を指定した場合は長さ 0 の文字列("")が返ります。 なお、指定文字列内に Null 値が含まれていた場合、この関数はエラーとはなりません。 Null 値をそのまま返します。
この関数は関数名に型宣言文字「$」を付けることで、戻り値を明示的に文字列型(String)にすることもできます。
strData = Right$("abcde", 3)
※ 型宣言文字「$」は関数名の最後に付けます。
動作検証
条件 |
例 |
動作結果 |
半角文字列を指定した場合
|
Right("abcde", 3)
|
cde |
全角文字列を指定した場合
|
Right("あいうえお", 3)
|
うえお |
全角と半角が混じる文字列を指定した場合
|
Right("abあいcdeうえお", 5)
|
deうえお |
文字列の文字数を超える数値を指定した場合
|
Right("abcde", 6)
|
abcde(※1) |
RightB()関数でバイト数を指定した場合
|
RightB("あいうえお", 4)
|
えお(※2) |
切り出し文字数に負数を指定した場合
|
Right("abcde", -1)
|
実行時エラー |
文字列にNull値を指定した場合
|
Right(Null, 1)
|
Null(※3) |
※1 指定文字列の文字数を超える数値を指定した場合は、文字列がそのまま返ります。
※2 RightB()関数はバイト数を指定する為、2 バイト文字列に 4 を指定した場合、右端の 2 文字(4 バイト)が返ります。
※3 この関数は Null 値を指定してもエラーとはなりません。
派生関数
この関数には以下の派生関数があります。
関数 |
説明 |
RightB
|
指定文字列をバイトデータとして扱い、文字列の右端から指定数分のバイトデータを取得します。
|
類似関数
この関数に類似する機能をもつ関数は、以下のものがあります。
関数 |
説明 |
Left
|
文字列の左端から、指定数分の文字列を取得する。
|
Mid
|
文字列の指定位置から、指定数分の文字列を取得する。
|
注意事項
- VB.NET 以降では RightB 関数はサポートされていません。(廃止されました)
サンプルコード
Sub Sample()
Dim filename As String
filename = "testfile.xxx"
Debug.Print Right(filename, Len(filename) - InStr(filename, ".")) '拡張子を返します
End Sub
※ 上記サンプルは InStr() 関数で「.(ピリオド)」の位置を特定し、文字列の文字数からその位置を引いて「.」から後の文字列を取得しています。