複数のテキストファイルを対象にある文字列を一括置換するソフト「TextSS.net」
投稿日:2016年12月19日
最終更新日:
もくじ
- 「TextSS.net」の概要
- インストール方法
- 使い方
「TextSS.net」の概要
「TextSS.net」は、複数のテキストファイルに対して文字列の一括置換処理を行うことが出来るソフトです。文字列置換についてはワイルドカードや正規表現を使用することが出来るので、複雑な処理にも対応できます。全角カナ・半角カナの変換や改行コード、文字コードなどの変換に使うことも出来ます。
インストール方法
Vectorのダウンロードページにアクセスし、ソフトをダウンロードしましょう。
ダウンロード完了後、ファイルを適当なフォルダに解凍しましょう。中にある「TextSS.net.exe」をダブルクリックすれば、TextSS.netを使えます。「TextSS.net32.exe」は、常に32bitで起動したい場合のみ使います。
使い方
初回起動時に、こんな感じの画面が表示されます。基本的には「日本語及び複数バイト文字…」を選択して「決定」を押せばOKです。
置換対象のファイルを追加する
まずは置換処理を行う対象となるファイルを登録しましょう。ファイルの拡張子を入力or選択して処理対象となるファイルの種類を絞り込みます。(拡張子の説明・表示方法) また、必要に応じてオプション(サブフォルダのファイル追加・除外リストの有効化(除外リストについては後述))も選択します。
拡張子を選択後、「フォルダ追加」「ファイル追加」から処理対象のファイルを登録します。
登録すると、こんな感じのファイルリストが表示されます。HTMLの場合はブラウザプレビューも出来ますが、当方の環境ではデフォルトの文字コードがShift-JISだったので、ブラウザプレビューが表示されているところを右クリックし、「エンコード」→「その他」→「Unicode(UTF-8)」を選択する必要がありました(テキストファイルの文字コードをUTF-8にしている場合)。操作対象のファイルを登録し終わったら、画面右下の「次へ」ボタンを押します。
文字列の置換(置換文字列の指定)
こんな感じの画面が出てきたら、文字列の置換方法を選択します。
- 文字列の置換(通常)…入力した文字をそのまま検索し、置換する
- 文字列の置換(ワイルドカード)…TextSS.net独自のワイルドカードを用いて検索、置換する
- 文字列の置換(正規表現)…Perl5相当の正規表現を用いて検索、置換
- 特殊変換…アルファベットの大文字・小文字変換、英数字・カタカナの全角、半角変換、改行コード変換など
本記事では、文字列置換(通常/ワイルドカード)及び特殊変換について解説します。いずれの場合も、置換前の文字列(検索する文字列)と置換後の文字列(置換する文字列)の組が出来上がったら「行の追加ボタン」を押す作業を繰り返すことで、複数パターンの文字列置換を同時に行うことが出来ます。置換パターンの指定が終わったら、「次へ」ボタンを押しましょう。
通常の置換・特殊変換・パターンリスト
通常の置換の場合は、特に説明すべきことはありません。置換前の文字列(検索する文字列)と置換後の文字列(置換する文字列)を入力していくだけです。置換するワードが複数ある場合は入力→「行の追加」→「入力」→「行の追加」→(無限ループ)を任意の回数繰り返せばOKです。
特殊変換の場合は、用意されているメニューの中から使用するものを選択し、必要なら出力時のコードページ(文字コード)を指定します。変換メニューを一切使わずに出力時のコードページ変更のみを使用すれば、文字コードを変更したファイルを出力させることも出来ると思います。
また、画面下方の「作成」ボタンから置換パターンリストを保存すれば、必要な時にリストを呼び出して使用することが出来ます。
ワイルドカードについて
文字列の置換(ワイルドカード)では、ワイルドカードを使用します。この場合は、「検索する文字列」側は
- * …0文字以上の文字
- # …1文字の数字
- ? …1文字の文字
- [] …[]内のいずれか1文字(例 [stu] ならs,t,uのいずれか)
- [ – ] …[ – ]内の連続した文字範囲からいずれか1文字(例 [h-m] なら hからmまでのいずれか1文字)
- [! ] …[! ]内の文字以外のいずれか1文字(例 [!cde] ならc,d,e以外のいずれか1文字)
- () …ワイルドカードのグループ化(例 4桁の数字をグループ化する→(####) 置換する文字列で$n (n=0 及び 1,2,3,…)の表記を用いる場合は必ず使用する)
- [] …ワイルドカードとして用いる記号を単なる文字として検索する場合は該当する記号を括弧内に入れる(例 [*] )
また、「置換する文字列」では $n (n=0 及び 1,2,3,…) でグループ化したワイルドカードの先頭からの番号(1からカウントアップ)を指定します。検索した文字列を使って置換後の結果を出力する際に使います。$0 はワイルドカードに該当した部分全体を指定する場合に使います。
ワイルドカード 使用例
検索する文字列 | (####年) (##月) (##日) |
---|---|
置換する文字列 | $2$3$1 |
テストする文字列 | この記事を書き始めた日付は2016年10月08日です |
テスト結果 | この記事を書き始めた日付は10月08日2016年です |
文字列の置換(実行段階)
まずは置換の実行方法を指定しましょう。「選択した1つのパターンの…」を選択すれば、直前に入力した置換パターンのみを適用します。「すべてのパターンの…」を選択すれば、パターンリストでチェックボックスがオンだった全パターンを適用します。置換結果を保存する場合は「保存する」を、どこがどのように変換されるかを確認したいだけならば「保存しない」を選択しましょう。置換候補を画面下部で確認したい場合は「表示する」を、確認しなくても良ければ「表示しない」を選択します。設定完了後、「開始」ボタンを押せば文字列の置換が開始されます。
置換候補を「表示する」に設定した場合は、置換候補が出てくる度にこのような確認画面が出るので、行いたい操作をその都度選択してください。
置換結果が出力されました。なお、置換前の状態に戻したい場合は「復元」ボタンを押せばOKです。