• ベストアンサー

できあいの数値代入ツールを教えてください

テキスト中の文字列の置き換えを自動処理できるjavascript等の既存のスクリプト、あるいはドロップレット、フリーソフト、マクロ等を探しています。WinXPかMacOSXで動くものを希望します。 あるテキストファイルがあって、その中の特定のキャラクタを埋め込んでマーキングされた複数の箇所に、別のテキストファイルに並んでいる複数の変数を順番に代入していく、というような操作がやりたいのです。 javascriptは以前ちょっとかじろうとしたものの、時間もなく挫折しました。今回もjavascriptを一から勉強している余裕がなく、ネットで公開されているスクリプトで使えるものがないかと探してみたのですが、どう検索すればいいのかさえわからず、見つけられません。 テキストの量が多いため、手作業で直していたら間に合いません。 こういう言葉で検索すればいい、というヒントだけでも結構ですので、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

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; ファイルを大きくしたり改行が伴うと、それなりのバグが発生しそうですが。

dainohara
質問者

お礼

つくっていただきありがとうございます。今回は間に合いませんでしたが、次に同様の機会があれば使ってみたいと思います。

その他の回答 (5)

  • junpecho
  • ベストアンサー率9% (1/11)
回答No.6

jsつってんのに、perl はるとか何考えてんのかなw ツールなら、秀丸とかサクラエディタでええんじゃない? 置換機能つかえばいいですよ

dainohara
質問者

お礼

今回は(今回も)エディタで検索して一個ずつ手作業で直していきました。いつか効率化したいとずっと思っているのですが……。

回答No.5

訂正です。意味は通じると思いますが念のため。 >Phonegapなどの疑似アプリか Phonegapなどの擬似ネイティブアプリか my付けろとかいろいろあると思いますが、ご勘弁のほどを。

dainohara
質問者

お礼

あまり理解できていないのですが、勉強します。

回答No.3

テキストファイルの書き方(データフォーマット)がわからなければ、ソフトウェアは作れません。 専用のソフトウェアを作るか、自分で作れなければ誰かに製作を依頼しないと無理だと思います。 >テキスト中の文字列の置き換えを自動処理できるjavascript等の既存のスクリプト、あるいはドロップレット、フリーソフト、マクロ等を探しています。WinXPかMacOSXで動くものを希望します。 Sakuraエディタとか、そういうマクロや正規表現置換ができるソフトで置換できませんか? DreamweaverならJavaScriptでマクロを作れますが。(体験版は無料で30日間、全機能が使えます) >あるテキストファイルがあって、その中の特定のキャラクタを埋め込んでマーキングされた複数の箇所に、別のテキストファイルに並んでいる複数の変数を順番に代入していく、というような操作がやりたいのです。 感じとしては『吉里吉里』か『NScripter』のようなシナリオライターにも思えますが、 それならなおさら、そういうのを使って作らないと無理ではないでしょうか。 残念ながら、最初から作り直しが一番早いのでは?

dainohara
質問者

お礼

ご回答ありがとうございます。なお、下のANo.2の補足で、もうちょっと具体的に内容を書いてあります。 そのスクリプトの指定する書式に合わせてテキストファイルをアレンジすれば(これは正規表現置換でたぶんできます)、誰でも使えるようなできあいの汎用品が、どこかに転がってるんじゃないかと思ったのです。そんなものはない、ということでしょうかね。どうりで、探しても見つからないわけです。 自分で組むスキルも依頼してつくってもらう時間もないので、手作業で置き換えていくしかないかもしれません。

  • tracer
  • ベストアンサー率41% (255/621)
回答No.2

説明不足かも。 よく理解していないですが、おそらくそのまま使えるビンゴなものはない気がします。とは言え、質問内容からは何がビンゴかもわかりません。たとえば、その二つのファイルのサンプル(一部抜粋など)があれば、分かりやすいと思います。

dainohara
質問者

補足

説明不足ですみません。 ファイルA 【○○○○△○○○○△○○○○○○△○○○○○■○○○△○○○○○△○○○○■○○○○○○○○○○○○○○○△○○○○○○○○○○○○○△○○■○○○○○○○○○○△○○○■○○○○○○△○○○○○○○○○○○○△○○○○○】 ファイルB 【52,31,117,78】 という2つのファイルがあったとして、ファイルAの【■】の部分にファイルBの数値を【52】【31】【117】【78】という具合に頭から入れていく、ということです。ファイルAの【■】を" "でくくったり、ファイルBをコンマ区切りでなくタブ区切りや改行区切りにすることはできます。単純と言えば単純なのですが、なれてなくてすみません。よろしくお願いいたします。

  • junpecho
  • ベストアンサー率9% (1/11)
回答No.1

探すまでもなく↓でよくないすか? かなり適当にかいてます。 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)) ); }

dainohara
質問者

お礼

ご回答ありがとうございます。スクリプトの知識がないのでよくわからないのですが、これで別のファイルの変数を頭から参照させるということができるのでしょうか。当方も説明不足ですみません。

関連するQ&A

  • JavaScriptで特定の変数に値が代入されるのを禁止する。

    JavaScriptで、既存の変数に値を代入し、その後の上書き(その変数への値の代入)を禁止するにはどのようにすればよいでしょうか。 <script type="text/javascript"><!-- var hoge = "hogeは初期化されてます"; hoge = "hogeは変更されました";//ここ以降での変更(代入)を禁止したい。 hoge = "hoge変更2回目"; alert(hoge); //--></script> というスクリプトを書いたときに、alert(hoge)で「hogeは変更されました」と表示させたいのです。 他の方法は駄目です。この方法だけでお願いします。 よろしくお願いします。

  • JavaScriptからJavaScriptを呼ぶ方法?

    あるJavaScriptのファイルでで変数に値を代入します。 他の複数のJavaScriptのファイルで、その変数を使用したいと思います。 JavaScript{     JavaScript{     }     処理・・・・ } という形になるのでしょうか。 このように、他のJavaScriptから変数を呼び出したいのです。 どのように記述したら良いでしょうか?

  • <aタグで変数に文字を代入

    JavaScriptをはじめて勉強し始めました。 今、変数のやり取りについて勉強しているのですが、 http://aaabbb.com/aaa/bbb.zip というアドレスがあったとして、 <script type="text/javascript"> <!-- function out(){ var urldata; // --> </script> 上の『urldata』にhttp://aaabbb.com/aaa/bbb.zipを代入したいのです。 でも、タダ代入するだけでなく、 <a href=""></a>で代入したいのです。 つまり、リンクをクリックすると、http://aaabbb.com/aaa/bbb.zipがurldataに代入されるようにしたいのですが・・・ どう書けばいいのかが分かりません。 ためしに書いてみても、全然代入されませんでした。 <a onclick="urldata='http://aaabbb.com/aaa/bbb.zip';out()" href="#">テスト</a> すみませんが、ご教授ください

  • スクリプト外部ファイルを変数で指定する方法

    スクリプト外部ファイル(例えば、bbb.js)をhtml内へ読込むには、 <script language="JavaScript" scr="bbb.js"></script> と書く事を知りました。 ファイル名を変数(aaa="bbb.js")に入れて、変数aaaで読込む方法を教えて下さい。 次のように、変数aaaにファイル名bbb.jsを代入して、読込みたいのですが、動作しません。 <body> <script language="JavaScript"> aaa=location.search; aaa=aaa.substr(1,(aaa.length - 1)); </script> <script language="JavaScript" src=aaa></script>

  • 外部リンクについて質問です。

    通常のリンクは下のような感じで外部から呼び出してきますが、 <script type="text/javascript" src="1.js"></script> 例えば、変数Formにアドレスが代入してある場合どのようにsrcに記述したらいいのでしょうか? document.write(Form); で確認すると、ちゃんと「1.js」と出ます。 FormはJavaScript内での変数です。 色々試して、 <script type="text/javascript" src="Form"></script> <script type="text/javascript" src=Form></script> など、他にもいくつか試しましたがうまくいきません。 代入値をアドレスとして使えないのでしょうか? もう完全に行き詰って全く分かりません。 すみませんが分かる方よろしくお願いします。

  • コマンドプロンプトで変数にテキストファイル

    コマンドプロンプトで変数にテキストファイルの中身を代入することできますか? 例えば、テキストファイルに検索キーのみが記入してあったとして、それをBATファイルで読み込んで各ドライブから検索するとか。

  • selectボックスの選択結果を変数に代入したい

    ブログのホームページで過去のブログカレンダーを表示させるために、年と月をセレクトボックスから入力して希望の年月のカレンダーを表示させようと頑張っています。 下記プログラムを作成しましたが、selectボックスから選択した年号を変数に代入することが出来ず、取得した年号をjavaの内部処理に使うことが出来ません。 考えられることはいろいろやってみましたが、全て変数に代入するところでうまくいきません。 よろしくご指導お願いします。 <html> <head> <title>選択された表示テキストを取得する</title> </head> <body> <select name="year" onchange="alert(getSelectedText(this))"> <option value="1">2014</option> <option value="2">2013</option> <option value="3">2012</option> </select><a>年</a> <script type="text/javascript"> function getSelectedText(obj){ var txt = obj.options[obj.selectedIndex].text; // 表示テキスト取得 return 'text = ' + txt; // 表示テキストをリターン var selectYear = text; // 表示テキストを変数に代入 } alert(selectYear); // 変数の内容をアラート表示 /*if(selectYear==2014){           // 変数を内部処理に使用 document.write('\ <select name="month" onchange="selectMonth(this)">\ <option value="1">1</option>\ <option value="2">2</option>\ <option value="3" selected>3</option>\ <option value="4">4</option>\ </select><a>月</a>\ ');*/ </script> </body> </html>

  • Smarty変数の値をJavascript変数代入

    よろしくお願いします。 SmartyのテンプレートにPHPファイルからassignされた変数を、 Javascriptの変数に割り当てたいと思います。 Smartyのテンプレート内では、デフォルトの設定だと、 {$hoge} として、値をHTMLとして書き出す仕様ですが、 色々な諸事情から、このデフォルト設定を、 {{$hoge}} として、{ を二度重ねないと機能しないように設定変更しています。 そこで、下記のようなJavascriptを実行しても上手くいかず、かなりはまってしまってます。 お助けください。 ※ダメな例 <script type="text/javascript"> var balloonA = {{$hoge}}; document.writeln (balloonA); </script> ※↓これだと当然出力されます。 ※aaaaa と表示される。 <script type="text/javascript"> var balloonA = "aaaaa"; document.writeln (balloonA); </script> なぜ、上の書き方だと変数内の値を取得できないのでしょうか? "{{$hoge}}"や'{{$hoge}}' として試しました。でもだめです。 色々ネットで探しましたが、 {literal} を使って・・・・というのもやりましたが、ダメでした。 そもそも、Smartyのデフォルト設定を {{ に変更しているので関係ないと思います。 ん~~何卒お力をおかしください。

    • 締切済み
    • PHP
  • 置換した文字列を変数に代入する方法

    お世話になります。 たとえば、 #!C:\Perl\bin\perl print $form->header("text/html");  : open(IN,"<file.txt"); while(<IN>){ : : s/あい(.*?)うえお/$1/; (????)←「$1」の内容を変数に代入したい : : } close(IN); というように、テキストファイルの文章中の 「あい(.*?)うえお」から(.*?)を取り出して、 その取り出した(.*?)を変数に代入したいのですが、 いろいろ試してやっているのですが、難儀して おります。どのように書いたらいいか教えてください。よろしくお願いします。 最終的にclose(IN);のあとで、print 変数;として(.*?)の文字列を表示させたいです。

    • ベストアンサー
    • Perl
  • テキストファイルの値をバッチファイルの中の関数に代入する方法をご指導して頂けないでしょうか?

     初めまして、最近バッチファイルの勉強をしているのですが、テキストファイルの値をバッチファイルの中の変数に代入する事は可能なのでしょうか?  私が今考えているのはテキストファイルの中の値をバッチファイルの中の変数に代入するというものです。 例 --test.txt-- 2009 11 27 ---------- --test.bat-- FOR /L %%i IN (1,1,10) DO CALL SUB.BAT year month day ---------- 上の例のテキストファイルの値、2009をバッチファイルのyearに代入という事は出来るのでしょうか? もし可能であればtest.batにどのような事を書けばいいのでしょうか? ご指導のほどをよろしくお願い致します。

専門家に質問してみよう