Q4:ファイルを読み込んで、とある単語を見つけたら、その次の行からテキストに書き込んでいき、また他の単語を見つけたら書き込みを中止する、ということはできるでしょうか。
Q4-1:
繰り返し制御FORを用いて等価演算=の左オペランドにとある単語を固定値として設定し、1行読み込みごとに単語を右オペランドに設定し左右同じだった場合次の行からテキストエリアに書き込んでいき、また別の等価演算=の左オペランドに単語を設定してその単語があったら書き込みをやめるという風に考えていたのですが、繰り返し制御FORと等価演算=の使い方が間違っているらしくできません。どのようにすればいいでしょうか。
A4-1:
[ファイル入力]は読み込み毎にデータ生成イベントが発生しますが、連続して読み込まれます。
途中で止めることは不可能ではないかも知れませんが、読み込まないことには単語の判定はできません。前回ご紹介したように[リスト格納変数]に一行毎に全て格納してしまうか、ファイル全体を読み込んで後から判定することが考えられます。
読み込み開始文字列と読み込み終了文字列が、一文章に一回しか出てこないと仮定した場合には、添付のファイルのようにファイル全体を[文字列格納変数]に入れてしまい、部分的に取出すのが一番簡単かと思います。
[リスト格納変数]に格納した場合には、基本的には[文字列格納変数]に一行ずつ入れ、「matches(String)」で判定します。true/falseが取得できるので、その結果を[等価演算(=)]「論理値変換/左右オペランド設定後演算を行う(String,String)」の右オペランドに設定して下さい。左オペランドは固定値でtrueとします。
ただ、こちらは試したところ、その後の処理が煩雑になりましたので、まずは関連ファイルの動作をご検討頂き、目的の動作と違う場合には、再度ご連絡頂けないでしょうか。
どうぞよろしくお願い申し上げます。
関連ファイル:単語発見.mzax