2017年2月7日火曜日

[UWSC]文字列中の指定のキーワードありなし判定する関数 [自作関数]

初心者のプログラミング導入のため、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("http://pokutaro.blogspot.jp/","pokutaro")=1
//命令1
ELSE
//命令2
ENDIF
プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,3,5行目1
3
5
IF keyword("http://pokutaro.blogspot.jp/","pokutaro")=1
ELSE
ENDIF
キーワードが含まれている・いないを判別して分岐させる場合などに便利です。



記事の内容

記事の内容は伝わりましたでしょうか。
○キーワードのありなしを調べる関数
戻値(int)=kwyword(txt,word)


関数群のダウンロードはこちら
func_poku.uwsのコメント欄に呼び出し方が書いてあります。


【関連記事】[UWSC]配列の最大要素を返す関数
[UWSC]タイムアウト関数
[UWSC]文字列操作あれこれ
[UWSC]奮闘記始めました


スポンサーリンク



ブログ村へ blogramのブログランキング

ポク太郎の「俺の説明聞いてくれ」 コンテンツ
ポク太郎の「俺の説明聞いてくれ」最キラー記事 コンピュータ(ハード/ソフト)
映画・ドラマ・芸能
変人のつぶやきとトラブル
ホームへ戻る


0 件のコメント:

コメントを投稿