指定した文字列に挟まれた文字列を取得する方法

指定した文字列に挟まれた文字列を取得するにはBETWEENSTR関数を利用します。

指定した文字列は前と後を別々に指定できるので[]に挟まれた文字列を取り出すといった用途に使えます。

該当する箇所が複数存在した場合、デフォルトでは最初の文字列が戻り値になります。

何番目に一致した文字列か指定することも可能です。

後ろから数えて何番目かといった指定も可能です。

 

指定した文字列に挟まれた文字列を取得するサンプルその1

before = "int a[10];"
after = BETWEENSTR(before, "[", "]")
PRINT after

指定した文字列に挟まれた文字列を取得する方法実行結果

 

 

指定した文字列に挟まれた文字列を取得するサンプルその2

該当する文字列が複数ある場合です。

今回は後ろから何番目の文字列か指定しました。

before = "(UWSC)(サンプル)(&)(画像認識)(テクニック)"
after = BETWEENSTR(before, "(", ")", -2)
PRINT after

指定した文字列に挟まれた文字列を取得する方法2実行結果

 

BETWEENSTR関数リファレンス

BETWEENSTR関数のリファレンスをマニュアルから転載します。

戻値 = BETWEENSTR( 文字列, 前文字, 後文字, [n個目, 数え方フラグ] )
引数
 文字列: 探す元になる文字列
 前文字: 得たい文字列の前にある文字列 (省略した場合は先頭から)
 後文字: 得たい文字列の後にある文字列 (省略した場合は最後まで)
 n個目: nを指定するとn個目の該当文字列を返す(マイナス値で指定すると後ろからサーチ)
 数え方フラグ:
   FALSE: n個目は後文字以降でカウント (デフォルト)
   TRUE: n個目は前文字以降でカウント 
戻値
 前文字と後文字に挟まれている文字列 (取得できなかった場合はEMPTYを返す)