本ページには広告が含まれています。
文字列内で探す文字(部分文字列)が最初に現れる位置を返します。
- 構文
- LongWord = POS( 探す文字, 探される文字列, n個目 )
- LongWord = POSB( 探す文字, 探される文字列, n個目 )
- LongWord = POS( 探す文字, 探される文字列, n個目 )
- 引数
- 探す文字 (String)必須
- 探したい文字列
- 探される文字列 (String)必須
- 探される文字列
- n個目 (Integer = 0)省略可
- nを指定するとn個目の文字位置を返す(マイナス値で指定すると後ろからサーチ)
- 戻り値
見つかった位置 (1から)
(見つからなければゼロを返す)
(大文字,小文字の区別はしません)
※ANSI(バイト)処理の場合は POSB
使い方
部分文字列(1文字)が最初に現れる場所を取得
東京都台東区東上野という文字列内で東が最初に現れる位置を返します。東京都の東の位置なので1を返します。
- 結果
第3引数にマイナス値を指定すると後ろから検索します。
東上野の東の位置である7を返します。
- 結果
部分文字列(2文字以上)が最初に現れる場所を取得
2文字以上の部分文字列を指定したときは、その部分文字列に完全に一致する場所を取得します。位置は部分文字列の1文字目の位置です。以下の場合"東京都"台東区東上野の東の位置である1、東京都"台東区"東上野の台の位置である4が返ります。
- 結果
アルファベット
大文字・小文字の区別をしないためsの位置である3が返ります。
- 結果
大文字も小文字を区別して探したい場合は、OPTION指定でSAMESTRを指定します。
- 結果
部分文字列が何個あるか
ループでカウント
POS関数は部分文字列が見つからない場合0を返すので、i番目を調べ0になるまでカウントしていきます。
- 結果
配列にしてカウント
SPLIT関数 (スクリプト関数)で区切り文字列として探したい文字列を指定して配列を作成し、その配列の最大インデックスが探したい文字列の数と一致します。
- 結果
探す文字列を置換して差を求める
- 結果
文字列が存在するかを調べる
部分文字列が何Byte目に現れるか
全角文字は2バイトなので「い」は3Byte目に現れることになります。
- 結果
指定文字が何Byteか調べるにはLENGTHB関数を使います。
- 結果
プログラム実行例
デフォルトプリンターを取得
結果
使用関数
ファイルを開いているプロセスを調べる
使用関数
音量を取得
結果
使用関数
