- ベストアンサー
テキスト処理を秀丸マクロで
各行の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なら多少は使えますので そちらでよろしくお願いします。
- みんなの回答 (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
お礼
何とか無事実現できました。 ありがとうございました。
補足
コマンドプロンプトで正常に動作しました。 ありがとうございます。 コマンドラインで置換前のファイル名を指定して 置換後のファイルを別名で作りたいのですが、 ARGFを使ってもうまくいきません。 お願いいたします。