UWSCという開発ソフトを使って作り上げる作業を実際にやってみるカテゴリ。準備した自作関数や使い方、トラブルを記事にしていきます。得るものがあれば幸いです。
今回は、文字列データの中に指定したキーワードがあるかどうかを判定する関数を作りました。
今回は、文字列データの中に指定したキーワードがあるかどうかを判定する関数を作りました。
記事の内容
○キーワードのありなしを調べる関数
○キーワードのありなしを調べる関数
戻値(int)=kwyword(txt,word)
プログラムを組んでいると、頻繁にキーワードのありなしを判定する機会に遭遇します。
キーワードのあるなしを判定する関数
データの中に目的のキーワードがあるかないかを判定したい場合がよくあります。毎回判定プログラムを作るのは面倒なので、関数を作っておきます。
1 2 3 4 5 6 7 8 | 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を返す。(キーワードが含まれていた。) |
呼び出し側サンプル
1 2 3 4 5 | 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 |
キーワードが含まれている・いないを判別して分岐させる場合などに便利です。 |
記事の内容は伝わりましたでしょうか。
○キーワードのありなしを調べる関数
○キーワードのありなしを調べる関数
戻値(int)=kwyword(txt,word)
コメント