K_STRFIND
「K_STRFIND」は、複数項目の一致検索処理を行うことができる命令です。
このページでは、文字処理に特化したHSP用モジュール命令セット「kurage_mod」の命令を解説しています。
【書式】
val = K_STRFIND ( p1 , p2 )
p1 : var 検索対象の文字列変数
p2 : str キーワードとなる文字列 ”文字,文字,文字”
val : 0 or -1
【解説】
特定の文字列の中に、キーワードとなる言葉が含まれているかどうか調べる命令です。
特定の文字列のどこにキーワードが含まれているかどうかを調べるデフォルトの命令「instr」では、いくつかの言葉を組み合わせて「これも、これも含まれているなら以下の処理を…」というような使い方をする場合にスクリプトが冗長になってしまうため「K_STRFIND」を作りました。
また、HSP3.1に正規表現がないことから、それっぽい使い方もできるように考慮して作ったつもりです。
ただし、「K_STRFIND」で分かるのは特定のキーワードが含まれているかどうかのみになります。
特定の文字列中に、カンマ区切りのキーワードのすべてを含む場合は一致の「0」を、含まない場合は不一致の「-1」を返します。
【サンプル】
#include "kurage_mod\\kurage_mod.as" //HSPのフォルダ「common」内からモジュール読み込み //【サンプル1】 a="あいうえお、かきくけこ、さしすせそ" b="あ,い,く,け,そ" c=K_STRFIND(a,b) dialog c //※結果 //a の中にb内のキーワードがすべて含まれているため、 //c には 0 が返る。 //【サンプル2】 a="あいうえお、かきくけこ、さしすせそ" b="あいうえお,たちつてと" c=K_STRFIND(a,b) dialog c //※結果 //a の中にb内のキーワードがすべて含まれてはいないため、 //c には -1 が返る。