Q51:タブをカンマで置き換えて、CSV入力コンポーネントを使って読み込めるようにしたいのですが、文字の置き換えがうまくいきません
Q51-1:
タブでフィールドが区切られているテキストファイルを読み込んで、データベースに記録しようと考えています。タブをカンマで置き換えて、CSV入力コンポーネントを使って読み込めるようにしたいのですが、文字の置き換えがうまくいきません。文字列格納変数のreplace(char, char)を使ってタブをカンマに置き換えようとしたのですが、エスケープシーケンスの入力がうまくできません。エスケープシーケンスの入力はできないのでしょうか?
A51-1:
お問い合わせの件は、テキストファイルから文字列データを取得して文字列格納変数に設定し、replaceAll(String,String)もしくはreplaceAllThenReplace(String,String)メソッドでタブをカンマに置き換えた文字列を取得するという理解でよろしいでしょうか。
引数を固定値として\tと入力するとタブになるはずですがいかがでしょうか。
そのほか、テキストエディタでタブを入力してその文字をコピーして張り付けることもできると思います。ご参考までにサンプルを掲載します。
このサンプルでは、固定値としてタブを入力する際、他のテキストエディタで入力したタブをコピーして張り付けております。起動メソッド情報ダイアログから直接タブを入力することはできませんので、ご注意下さい。
また、「\t」と記入するとタブとして扱われますので、これを用いても構いません。タブ区切りのテキストファイルを読み込んで「\t」を「,」で置き換えるように設定したサンプルを掲載しましたのでご覧下さい。
なお、タブ区切りのテキストファイルであれば、データベースアクセスを利用したODBC接続によって、直接テーブルデータとして読み込むことも可能です。こちらもサンプルをご用意しました。ODBCの設定方法は、サンプル内にコメントとして記述してありますので、どうぞご覧下さい。
関連ファイル:文字列置換.mzax、DatabaseConnection.mzax、TabReplacement.mzax、TabSeparated.txt (※拡張子 ".mzax" のファイルは、ZIP形式に圧縮してあります。)