• ベストアンサー

テキスト処理を秀丸マクロで

各行のn番目からm番目までの 数値を下記のように置換したいのですが 秀丸マクロではどのようにすればよいのでしょうか? 置換法則 1 → 1,0,0 2 → 0,1,0 3 → 0,0,1 例 n=7 m=8 2,1,3,2,1,2,1,2 2,3,2,3,1,3,3,1 1,2,1,3,2,1,2,1 ↓(置換) 2,1,3,2,1,2,1,0,0,0,1,0 2,3,2,3,1,3,0,0,1,1,0,0 1,2,1,3,2,1,0,1,0,1,0,0 マクロで難しい場合はrubyなら多少は使えますので そちらでよろしくお願いします。

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

ruby なら、こんな感じ: def r( a ) return '1,0,0' if a == '1'; return '0,1,0' if a == '2'; return '0,0,1' if a == '3'; return a; end $\ = $/; while DATA.gets chop!; f = split( ',' ); f[6] = r( f[6] ); f[7] = r( f[7] ); print f.join( ',' ); end __END__ 2,1,3,2,1,2,1,2 2,3,2,3,1,3,3,1 1,2,1,3,2,1,2,1

apache6
質問者

お礼

何とか無事実現できました。 ありがとうございました。

apache6
質問者

補足

コマンドプロンプトで正常に動作しました。 ありがとうございます。 コマンドラインで置換前のファイル名を指定して 置換後のファイルを別名で作りたいのですが、 ARGFを使ってもうまくいきません。 お願いいたします。

関連するQ&A