プロが教える店舗&オフィスのセキュリティ対策術

Windows2003server上で動く、文字列置換ツールを用意したいと思ってます。

※同様の質問をもう一件あげていますが、質問の根本が違うのであえて分けています。
よろしければそちらもご覧頂ければと思います。

今、考えている動作をしてくれるサンプルプログラムが@ITにあったので
これを流用しようと思うのですが、変換対象の文字列がプログラム内にハードコーディングされているため
設定ファイルとして外に出したいと思っています。

置換サンプルプログラム
http://www.atmarkit.co.jp/fwin2k/win2ktips/308st …

想定している使い方は以下の通りです。
・変換対象ファイルは置換後上書き保存される。(サンプルPGの動作)
・変換対象文字のパターンは複数ある。
・変換対象ファイル内に、変換対象文字は複数出てきて全てを置換する。
・サンプルPGでは変換対象文字列がソース内に書かれているが、外部ファイルに出したい。
・変換対象文字のパターンは今後増える可能性がありソース変更なしに柔軟に対応できるようにしたい。

文字列置換の動作自体はサンプルPGの動作が希望通りで問題ありません。
あとは、外部ファイルに変換対象文字を持たすことと、複数パターンに対応できるように
改良できればベストだと思っています。

外部ファイルの記述方法(左が変換前、右が変換後)
AAA aaaa
BB bbbbbb
CCCC ccc
 ・
 ・
増やした文だけ、変換対象となる。
※変換文字に.や\が含まれます。(サンプルソースでは動いてます)

よろしくお願いします。

A 回答 (1件)

課題の取り組みの考え方については先の質問の回答に書いたとおりですが、時間をかけて勉強するものとして、アドバイスを申し上げます。



変換対象の文字列を外出しするのでしたら、スクリプトで設定ファイルを読み込んで配列に記憶し、配列の要素数だけ置換を繰り返せばよいです。

ファイルの読み込みは既にサンプル中にあります。配列はArrayオブジェクトです。なお変換前後の文字列それぞれに配列を作るとよいと思います。

また変換前後の文字列を分ける(AAAとaaaaに分ける)処理も必要ですが、それにはsplitメソッドなどを使えばよいでしょう。

外部ファイルそのものの指定をどうするかも課題ですね(これはハードコーディングしてしまいますか…)。
    • good
    • 0
この回答へのお礼

複数の変換対象を定義するのは、ハードコーディングですができました。
これで、スクリプトはとりあえずは使うことができるので
定義を外部に持たせるといった、これ以上のカスタマイズは徐々に進めていこうと思います。

お礼日時:2010/03/16 00:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!