ポク太郎です。
プログラムを組んでいると、頻繁にキーワードのありなしを判定する機会に遭遇します。
キーワードのあるなしを判定する関数
データの中に目的のキーワードがあるかないかを判定したい場合、毎回判定プログラムを作るのは面倒なので関数を作っておきます。
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)
コメント