UWSC|文字列中の指定キーワードありなし判定の関数

ポク太郎です。

プログラムを組んでいると、頻繁にキーワードのありなしを判定する機会に遭遇します。


キーワードのあるなしを判定する関数

データの中に目的のキーワードがあるかないかを判定したい場合、毎回判定プログラムを作るのは面倒なので関数を作っておきます。

FUNCTION keyword(txt,word)
    tmp=REPLACE(txt,word,"")
   IF tmp=txt
    RESULT=0
   ELSE
    RESULT=1
   ENDIF
FEND
関数プログラム説明○⇒:成り立つ場合、×⇒:成り立たない場合)
1,8行目 1
8
FUNCTION keyword(txt,word)
FEND
関数宣言:keyword(txt,word)
txtの中にwordが含まれているかどうかを判別する関数。
含まれていない⇒ 0を返す。
含まれている⇒ 1を返す。
2行目 2     tmp=REPLACE(txt,word,)
引数txt中の引数wordをすべて削除(空白に置換)したものをtmpへ代入します。
REPLACE(A,B,C):UWSC標準関数でAの中のBをCへ置換したものを返す関数。
3~7行目 3
4
5
6
7
   IF tmp=txt
    RESULT=0
   ELSE
    RESULT=1
   ENDIF
引数wordを削除した変数tmpが元々の引数txtと同じかどうかで分岐します。
○⇒ 戻り値として0を返す。(キーワードは含まれてなかった。)
×⇒ 戻り値として1を返す。(キーワードが含まれていた。)

呼び出し側サンプル

IF keyword("//pokutaro.blogspot.jp/","pokutaro")=1
//命令1
ELSE
//命令2
ENDIF
プログラム説明
1,3,5行目 1
3
5
IF keyword(//pokutaro.blogspot.jp/,pokutaro)=1
ELSE
ENDIF
キーワードが含まれている・いないを判別して分岐させる場合などに便利です。


文字列関連の話題
文字列操作あれこれMID、LEFT、RIGHT、LEN 文字列中に指定ワードあるなし判定関数 現在のタイムスタンプ文字列を返す関数 カンマ等で区切られたフィールドデータを扱う関数
本記事の内容は以下でした。
○キーワードのありなしを調べる関数

戻値(int)=keyword(txt,word)

コメント

タイトルとURLをコピーしました