BETWEENSTRビトゥイーンストリング関数

指定文字列間の文字列を返します。

構文
  1. UString = BETWEENSTR( 文字列, 前文字, 後文字, n個目, 数え方フラグ )
引数
文字列 (String)必須
探す元になる文字列
前文字 (String = "")省略可
得たい文字列の前にある文字列(省略した場合は先頭から)
後文字 (String = "")省略可
得たい文字列の後にある文字列(省略した場合は最後まで)
n個目 (Integer = 1)省略可
nを指定するとn個目の該当文字列を返す(マイナス値で指定すると後ろからサーチ)
数え方フラグ (Boolean = False)省略可
FALSE
n個目は後文字以降でカウント (デフォルト)
TRUE
n個目は前文字以降でカウント
戻り値

使い方

ABCDEFGHIJKLMNという文字列からCEの間にある文字列を取得します。

UWSC
PRINT BETWEENSTR("ABCDEFGHIJKLMN", "C", "E")
結果
プレーンテキスト
D

前文字と後文字の間の文字数は1文字に限らず取得できます。

UWSC
PRINT BETWEENSTR("ABCDEFGHIJKLMN", "C", "G")
結果
プレーンテキスト
DEF

文字列が見つからなかった場合はEmptyを返します。

UWSC
PRINT BETWEENSTR("ABCDEFGHIJKLMN", "C", "B")

前文字を省略した場合、先頭の文字からサーチします。

UWSC
PRINT BETWEENSTR("ABCDEFGHIJKLMN",, "G")
結果
プレーンテキスト
ABCDEF

後文字を省略した場合、末尾の文字まで取得します。

UWSC
PRINT BETWEENSTR("ABCDEFGHIJKLMN", "J")
結果
プレーンテキスト
KLM

前文字・後文字は省略可能ですが、どちらか片方は指定する必要があります。どちらも省略した場合はBETWEENSTR:引数が足りませんとエラーが発生します。

UWSC
PRINT BETWEENSTR("ABCDEFGHIJKLMN")

第四引数のn個目に値を指定した場合、n個目に見つかった文字列を返します。「ABCDEACBDEADCBE」という文字列の赤色が1個目、青色が2個目、緑色が3個目に見つかった文字列です。4個目は見つからないのでEEmptyを返します。

UWSC
DIM str = "ABCDEACBDEADCBE"

PRINT BETWEENSTR(str, "A", "E", 1)
PRINT BETWEENSTR(str, "A", "E", 2)
PRINT BETWEENSTR(str, "A", "E", 3)
PRINT BETWEENSTR(str, "A", "E", 4)
結果
プレーンテキスト
BCD
CBD
DCB

後ろからサーチする場合は、後ろから1個目は-1、2個目は-2のようにマイナス値で指定します。

UWSC
DIM str = "ABCDEACBDEADCBE"

PRINT BETWEENSTR(str, "A", "E", -1)
PRINT BETWEENSTR(str, "A", "E", -2)
PRINT BETWEENSTR(str, "A", "E", -3)
PRINT BETWEENSTR(str, "A", "E", -4)
結果
プレーンテキスト
DCB
CBD
BCD

n個目に0を指定すると1を指定したときと同じ結果を返します。

UWSC
DIM str = "ABCDEACBDEADCBE"

PRINT BETWEENSTR(str, "A", "E", 0)
PRINT BETWEENSTR(str, "A", "E", 1)
結果
プレーンテキスト
BCD
BCD

数え方フラグは前文字と後文字に同じ文字を指定したとき、2個目以降のどの位置からサーチするかを指定するための引数です。

例えば、「A12, B12, C12, A34, B34, C34, A56, B56, C56, A78, B78, C78」という文字列でAAで囲まれた文字列をサーチするとき、2個目を探すときにデフォルトでは後文字以降なので「A12, B12, C12, A34, B34, C34, A56, B56, C56, A78, B78, C78」の赤色の範囲(後文字のA以降)でサーチを行います。これを数え方フラグにTRUEを指定し前文字以降にすると「A12, B12, C12, A34, B34, C34, A56, B56, C56, A78, B78, C78」の範囲(前文字のA以降)でサーチが行われることになり、結果が変わります。

UWSC
DIM str = "A12, B12, C12, A34, B34, C34, A56, B56, C56, A78, B78, C78"

PRINT BETWEENSTR(str, "A", "A", 1)
PRINT BETWEENSTR(str, "A", "A", 2)
PRINT BETWEENSTR(str, "A", "A", 2, TRUE)
結果
プレーンテキスト
12, B12, C12, 
56, B56, C56, 
34, B34, C34,

プログラム実行例

UWSC.INIのDefaultFontを変更する

UWSC
使用関数

この記事は役に立ちましたか?

はい
いいえ
ご協力ありがとうございます。

関連記事

LENGTH関数 (スクリプト関数)
文字数もしくは配列サイズを返します。
STRCONV関数 (スクリプト関数)
文字列を大文字・小文字、ひらがな・カタカナ、全角・半角の相互変換を行います。