Q10:格納した文字列から改行コードを取り除いたり、任意の位置に改行コードを付け加えたりといった操作を実行したい。
Q10-1:
まず、改行を含むテキストファイルを用意して、MZPFからこのファイルを読み込んで文字列格納変数に格納します。そして、格納した文字列から改行コードを取り除いたり、任意の位置に改行コードを付け加えたりといった操作を実行したいのですが、その方法がわかりません。
文字列格納変数のメソッドを自分なりに探したのですが、それらしいものに辿りつけませんでした。
A10-1:
テキストファイルは[テキストファイル入力]コンポーネントを使ってテキストデータを読み込みます。読込みが行われる度に[テキストファイル入力]から「データ生成イベント」が発生するので、その先に[文字列格納変数]の処理を繋げて下さい。
[テキストファイル入力]のメソッドには「ファイル名を指定してテキストファイルを読込む」、「開いているファイルから一行ずつ読込む」、「開いているファイルから一単語ずつ読み込む」等があります。
「ファイル名を指定して・・・」の方は「ファイルを開く/閉じる」の処理は内部で自動的に行われます。
改行文字の削除は、以下のように幾つか考えられます。
・「開いているファイルから一単語ずつ読み込む/一行ずつ読み込む」で改行は削除されます。但し改行文字だけがある場合も、一行として認識される可能性はあります。
・ファイルを全部読込み、[文字列格納変数]のメソッド「部分文字列のリストを取得する(正規表現による分割)(String)」で引数に「\n」を指定し、改行を除いた部分文字列のリストを取得できます。
・「正規表現に適合するすべての文字列を置換する(String,String)」で<引数0>に「\n」、<引数1>に空文字(取得方法:固定値、メソッド/値欄に一旦何らかの文字を入力し、消す。未入力はNULL値となりエラー発生)を設定します。
改行の付加は[文字列格納変数]で
@「文字列を設定する(イベント発生なし)(String)」(元の文字列)
A「指定した文字列と連結して置き換える(String)」
<引数>取得方法:メソッド戻り値、コンポーネント:文字列格納変数、
メソッド/値:改行文字を取得する
とします。
[テキストエリア」「文字列を追加して改行する」を利用するのも簡単かと思います。
以上ご検討頂き、ご不明な点、ご要望等ございましたら、再度ご連絡頂ければ幸いです。
ご参考までに以前作成した簡単なサンプルファイルを掲載致します。
どうぞよろしくお願い申し上げます。
関連ファイル:一行ずつ読込みB.mzax