POSポス関数

本ページには広告が含まれています。

文字列内で探す文字(部分文字列)が最初に現れる位置を返します。

構文
  1. LongWord = POS( 探す文字, 探される文字列, n個目 )
  2. LongWord = POSB( 探す文字, 探される文字列, n個目 )
引数
探す文字 (String)必須
探したい文字列
探される文字列 (String)必須
探される文字列
n個目 (Integer = 0)省略可
nを指定するとn個目の文字位置を返す(マイナス値で指定すると後ろからサーチ)
戻り値

見つかった位置 (1から)

(見つからなければゼロを返す)

(大文字,小文字の区別はしません)

※ANSI(バイト)処理の場合は POSB

使い方

部分文字列(1文字)が最初に現れる場所を取得

東京都台東区東上野という文字列内でが最初に現れる位置を返します。東京都の位置なので1を返します。

UWSC
結果
プレーンテキスト

第3引数にマイナス値を指定すると後ろから検索します。

東上野の位置である7を返します。

UWSC
結果
プレーンテキスト

部分文字列(2文字以上)が最初に現れる場所を取得

2文字以上の部分文字列を指定したときは、その部分文字列に完全に一致する場所を取得します。位置は部分文字列の1文字目の位置です。以下の場合"東京都"台東区東上野の位置である1東京都"台東区"東上野の位置である4が返ります。

UWSC
結果
プレーンテキスト

アルファベット

大文字・小文字の区別をしないためsの位置である3が返ります。

UWSC
結果
プレーンテキスト

大文字も小文字を区別して探したい場合は、OPTION指定SAMESTRを指定します。

UWSC
結果
プレーンテキスト

部分文字列が何個あるか

ループでカウント

POS関数は部分文字列が見つからない場合0を返すので、i番目を調べ0になるまでカウントしていきます。

UWSC
結果
プレーンテキスト
配列にしてカウント

SPLIT関数 (スクリプト関数)で区切り文字列として探したい文字列を指定して配列を作成し、その配列の最大インデックスが探したい文字列の数と一致します。

UWSC
結果
プレーンテキスト
探す文字列を置換して差を求める
UWSC
結果
プレーンテキスト

文字列が存在するかを調べる

UWSC

部分文字列が何Byte目に現れるか

全角文字は2バイトなので「い」は3Byte目に現れることになります。

UWSC
結果
プレーンテキスト

指定文字が何Byteか調べるにはLENGTHB関数を使います。

UWSC
結果
プレーンテキスト

プログラム実行例

デフォルトプリンターを取得

UWSC
結果
プレーンテキスト
使用関数

ファイルを開いているプロセスを調べる

UWSC
使用関数

音量を取得

UWSC
結果
プレーンテキスト
使用関数