フリーソフトTextSS.netを使ってテキストファイル内の文字列に対して複数の組み合わせを一括置換する方法を解説します。テキストエディタ等の置換機能は検索→置換を1組ずつ行うことになりますが、TextSS.netを使えば複数組の置換を一気に行うことができます。
今回はブログ引っ越しに伴いはてなブログからエクスポートした記事データ(テキストファイル、.txt)の修正で利用しました。
ダウンロード
まずは下の公式ページからソフトの最新版をダウンロードします。フリーソフトなので当然無料です。2021年2月現在の最新版は5.21です。
http://textss.sakura.ne.jp/download.html
リンク先のページで最新バージョンの5.21をクリックしてダウンロードします。
ダウンロードした.zipファイルをデスクトップなどのわかる場所において開きます。
.zipファイルを開いたらソフトを起動します。64bitのOSの場合は下の「TextSS.net.exe」のダブルクリックで起動できます。
起動するとこの画面が出てくるはずです。これでダウンロードは完了です。
置換を行う対象ファイルを指定する
まずは置換を行う対象ファイルを指定します。
今回ははてなブログからエクスポートした記事データを指定します。方法は簡単で、下画像のように拡張子を設定してからファイルをドラッグ&ドロップします。
はてなブログからエクスポートした記事データはテキストファイルなので、拡張子は.txtにします。
拡張子を指定したら置換を行いたいファイルをドラッグ&ドロップで読み込みます。
ファイルをドラッグ&ドロップすると下画像のようにファイルリストに載ります。
今回は1ファイルだけを対象に置換を行うのでこのまま「次へ」をクリックします。
検索と置換の文字列を決める
「次へ」をクリックするとこのような画面になります。この画面では検索する文字と置換後の文字列を複数設定します。
このUIの右側が検索文字列と置換後文字列を入力するエリアになっています。1件ずつ入力していくこともできますが、もっと大量の組み合わせを入力する時のために、エクセルからのコピー&ペーストやCSVファイルからのインポート/エクスポートにも対応しています。今回はエクセルからのコピー&ペーストの方法で置換を行っていきます。
検索文字列と置換文字列の一覧表を作る
TextSS.netに入力する前に別途エクセルやスプレッドシートなどの手持ちの表計算ソフトで文字列の一覧表を作ります。
一覧表は下の表のように作ります。下の例では3,4行しかありませんが、検索と置換の文字列の組み合わせだけ行を追加していきます。
実行スイッチ | 置換方法 | コメント | 検索する文字列 | 置換後の文字列 | 検索オプション | 置換オプション |
ON | 通常置換 | 111 | aaa | |||
ON | 通常置換 | 222 | bbb | |||
ON | 通常置換 | 333 | ccc | |||
ON | 通常置換 | ・・・ | ・・・ |
- 実行スイッチ:全ての行で「ON」にします。
- 置換方法:全て「通常置換」
- 検索する文字列:対象のファイルから変更したい文字列を記載します。
- 置換後の文字列:検索した文字列から変更したい文字列を記載します。
他は空欄のままで良いです。
僕が作った表のサンプル画像も載せておきます。ちなみにグーグルスプレッドシートで作っています。
今回の例だと、記事データの中の記事毎に決められた”YYYY/MM/DD/hhmmss”形式で記載された文字列を別の文字列に変更しようとしています。
検索文字列は記事データから取得した記事URL一覧を使って”YYYY/MM/DD/hhmmss”部分を抽出しました。
置換後文字列は任意の文字列を一つずつ入力していきました。下のサンプルのようにランダムな文字列でも問題はありません。
ここまでできたら次はTextSS.netの方にデータを入力します。
TextSS.netにコピー&ペーストする
TextSS.netへの入力は簡単です。先程作った表からコピー&ペーストを行います。
まずは表計算ソフトの下の範囲をコピーします。右の方の空欄になっている置換オプションのあたりも範囲に含めてください。
TextSS.netの画面に戻り、下画像の赤枠の範囲にマウスカーソルを動かして右クリックします。
出てきたメニューから「貼り付け(選択行に上書き)」を選択します。
すると下画像のように検索文字列と置換文字列の組み合わせがTextSS.netに転記できました。
検索文字列と置換文字列のパターンリストが入力できたら右下の「次へ」をクリックします。
置換を実行する
検索と置換のパターンリストを入力し、「次へ」をクリックするとこの画面になります。
置換を実行する時の条件を下のように設定したら「開始」をクリックします。その後、再度ポップアップ画面が出てくるのでOKを押します。(置換を行う際のオプションがいくつかありますがここでは割愛します)
ポップアップ画面が出てきて置換が完了したことを教えてくれます。
OKをクリックすると、ファイルリストの画面に戻ってきます。下のように対象ファイル毎のステータスが無事に「置換完全成功」になっています。
置換が完了したら置換対象として指定したファイルの中身も確認しておきましょう。標準設定では対象に指定したファイルを上書きしています。
今回の例だとテキストファイル内の下の「BASENAME:」に続く文字列を”YYYY/MM/DD/hhmmss”形式から別の文字列に置換しました。
参考までに置換前のテキストファイルの中身はこちら。「BASENAME:」の後ろが”YYYY/MM/DD/hhmmss”形式になっています。
今回はここまでです。テキストファイルの複数組み合わせの一括置換は色々な場面で使えると思いますので是非使ってみてください。