- ベストアンサー
できあいの数値代入ツールを教えてください
テキスト中の文字列の置き換えを自動処理できるjavascript等の既存のスクリプト、あるいはドロップレット、フリーソフト、マクロ等を探しています。WinXPかMacOSXで動くものを希望します。 あるテキストファイルがあって、その中の特定のキャラクタを埋め込んでマーキングされた複数の箇所に、別のテキストファイルに並んでいる複数の変数を順番に代入していく、というような操作がやりたいのです。 javascriptは以前ちょっとかじろうとしたものの、時間もなく挫折しました。今回もjavascriptを一から勉強している余裕がなく、ネットで公開されているスクリプトで使えるものがないかと探してみたのですが、どう検索すればいいのかさえわからず、見つけられません。 テキストの量が多いため、手作業で直していたら間に合いません。 こういう言葉で検索すればいい、というヒントだけでも結構ですので、よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
JavaScriptで作るとなると、Phonegapなどの疑似アプリかDashboardやウィジェットなんでしょうけど、 コンパイルやらが大変なのでPerlで作ってみました。 use utf8; {$/=undef; open FB, '<:utf8', 'b.txt' or die 'cannot open b'; $data_b=<FB>; close FB; } chomp($data_b); @data_b=split(',', $data_b); open FA, '<:utf8', 'a.txt' or die 'cannot open a'; open FOUT, '>:utf8', 'c.txt' or die 'cannot open'; $p=0; while($data_a=<FA>){ @line=split('■', $data_a); for($i=0;$i<=$#line;$i++,$p++){ print FOUT $line[$i], $data_b[$p]; } } close FA; close FOUT; ファイルを大きくしたり改行が伴うと、それなりのバグが発生しそうですが。
その他の回答 (5)
- junpecho
- ベストアンサー率9% (1/11)
jsつってんのに、perl はるとか何考えてんのかなw ツールなら、秀丸とかサクラエディタでええんじゃない? 置換機能つかえばいいですよ
お礼
今回は(今回も)エディタで検索して一個ずつ手作業で直していきました。いつか効率化したいとずっと思っているのですが……。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
訂正です。意味は通じると思いますが念のため。 >Phonegapなどの疑似アプリか Phonegapなどの擬似ネイティブアプリか my付けろとかいろいろあると思いますが、ご勘弁のほどを。
お礼
あまり理解できていないのですが、勉強します。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
テキストファイルの書き方(データフォーマット)がわからなければ、ソフトウェアは作れません。 専用のソフトウェアを作るか、自分で作れなければ誰かに製作を依頼しないと無理だと思います。 >テキスト中の文字列の置き換えを自動処理できるjavascript等の既存のスクリプト、あるいはドロップレット、フリーソフト、マクロ等を探しています。WinXPかMacOSXで動くものを希望します。 Sakuraエディタとか、そういうマクロや正規表現置換ができるソフトで置換できませんか? DreamweaverならJavaScriptでマクロを作れますが。(体験版は無料で30日間、全機能が使えます) >あるテキストファイルがあって、その中の特定のキャラクタを埋め込んでマーキングされた複数の箇所に、別のテキストファイルに並んでいる複数の変数を順番に代入していく、というような操作がやりたいのです。 感じとしては『吉里吉里』か『NScripter』のようなシナリオライターにも思えますが、 それならなおさら、そういうのを使って作らないと無理ではないでしょうか。 残念ながら、最初から作り直しが一番早いのでは?
お礼
ご回答ありがとうございます。なお、下のANo.2の補足で、もうちょっと具体的に内容を書いてあります。 そのスクリプトの指定する書式に合わせてテキストファイルをアレンジすれば(これは正規表現置換でたぶんできます)、誰でも使えるようなできあいの汎用品が、どこかに転がってるんじゃないかと思ったのです。そんなものはない、ということでしょうかね。どうりで、探しても見つからないわけです。 自分で組むスキルも依頼してつくってもらう時間もないので、手作業で置き換えていくしかないかもしれません。
- tracer
- ベストアンサー率41% (255/621)
説明不足かも。 よく理解していないですが、おそらくそのまま使えるビンゴなものはない気がします。とは言え、質問内容からは何がビンゴかもわかりません。たとえば、その二つのファイルのサンプル(一部抜粋など)があれば、分かりやすいと思います。
補足
説明不足ですみません。 ファイルA 【○○○○△○○○○△○○○○○○△○○○○○■○○○△○○○○○△○○○○■○○○○○○○○○○○○○○○△○○○○○○○○○○○○○△○○■○○○○○○○○○○△○○○■○○○○○○△○○○○○○○○○○○○△○○○○○】 ファイルB 【52,31,117,78】 という2つのファイルがあったとして、ファイルAの【■】の部分にファイルBの数値を【52】【31】【117】【78】という具合に頭から入れていく、ということです。ファイルAの【■】を" "でくくったり、ファイルBをコンマ区切りでなくタブ区切りや改行区切りにすることはできます。単純と言えば単純なのですが、なれてなくてすみません。よろしくお願いいたします。
- junpecho
- ベストアンサー率9% (1/11)
探すまでもなく↓でよくないすか? かなり適当にかいてます。 string = new String(); string="なんかもじれつ"; arylist = new ArrayList(); arylist2 = new ArrayList(); arylist.add("hoge01"); : arylist.add("hogeXX"); arylist2.add("toro01"); : arylist2.add("toroXX"); for h as String in arylist { string.replace(h,arylist2(arylist.indexOf(h)) ); }
お礼
ご回答ありがとうございます。スクリプトの知識がないのでよくわからないのですが、これで別のファイルの変数を頭から参照させるということができるのでしょうか。当方も説明不足ですみません。
お礼
つくっていただきありがとうございます。今回は間に合いませんでしたが、次に同様の機会があれば使ってみたいと思います。