- ベストアンサー
ある文字をすべて置き換える技術を教えて欲しい
青空文庫txt形式などのテキストのある文字をすべて置き換える技術を教えて欲しい。何かソフトとをつかうのか、はたまたコマンド的なものがあるのか。 例えば ーー(ダッシュ2つ)を▲におきかえる << >>(ルビお表示させるためのやつ)を消す この二つがしたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
テキスト・データを1行ずつ順に読み込んで処理して出力するストリーム・エディタというソフトがあります。いちばん有名なのがsed.exeです。これを使えば簡単に文字の変換ができます。 ●sed.exeの導入 下記からダウンロードして解凍したあと、sed.exeだけをルート・ディレクトリのc:\に置いてください。DOSのプログラムなので特にインストール作業は必要ありません。 http://www.vector.co.jp/soft/dos/util/se000880.html (sed.exeはさまざまな開発者によって発表されており、いろいろな版がありますが、上記のものが使いやすいと思います) ●スクリプトの作成 sedで処理する編集手順を記述したのがスクリプト(プログラム)です。ご質問内容を変換するスクリプトを例示します。 質問の中の「ーー(ダッシュ2つ)」が実際はダッシュ(―)でなく長音記号(ー)になっていますので、両方に対応しました。ルビ表示については、《と》だけでなくその中の文字も消したいのだと判断しました。また青空文庫でルビの付く文字列の始まりを特定する記号「|」も削除しました。 変換したいテキスト・ファイルのあるフォルダに、下記4行をtable.txtというテキスト・ファイルで保存します。 ------------ s/ーー/▲/g s/――/▲/g s/《[^《》]*》//g s/|//g ------------ ●バッチ・ファイルの作成 実行させるためのバッチファイルを作成します。同じフォルダに以下の内容のテキスト・ファイルconv.txtを作成し、保存後、ファイルの拡張子をbatに変更します。 (ここでは変換対象のテキスト・ファイル名をaozora.txtとしています。なおファイル名は半角換算8文字以内+.txtとしてください。古いMS-DOSのソフトなので、それより長いファイル名は認識できません) ---------------------------------------------- c:\sed -f table.txt aozora.txt > newfile.txt ---------------------------------------------- ●変換 conv.batをクリックしてください。指定されたファイルが変換されてnewfile.txtとして生成されます。
その他の回答 (2)
- koko88okok
- ベストアンサー率58% (3839/6543)
No.1の方のご回答の通りですが、下記URLのページに詳しく説明されています。 「置換とは何か。そしてその使い方。メモ帳とエクセルで解説」 http://www.vi2tto.jp/entry/2010040961.php
これは 普通にメモ帳を開いてですね 編集のタブをクリック 置換をクリック >ーー(ダッシュ2つ)を▲におきかえる は、 検索する文字列(N):ーー 置換後の文字列(P):▲ {すべて置換}←これをクリック ><< >>(ルビお表示させるためのやつ)を消す は、 1回目 検索する文字列(N):<< 置換後の文字列(P): {すべて置換}←これをクリック 2回目 検索する文字列(N):>> 置換後の文字列(P): {すべて置換}←これをクリック で、出来ます その動作を確認したのは Windows98~Windows7なので、きっと出来ると思います