More ソフ得! =ソフトの宝島=

 第37回 speeeeed



複数ファイルの文字列を一括変換

1つの文書の中で、ある文字列を別の文字列(例えば「看護婦」を「看護師」)に置換したいとき、テキストエディタやワープロソフトの「置換」という機能を使えば一発で完了しますね。
しかし、複数のファイルを対象にする場合は、いちいち当該ファイルを開いて置換していかなければなりません。
speeeeedは、これを一括処理してくれるというありがたいソフトです。
speeeeedの画面
これがspeeeeedの操作画面です。
上の「検索文字列」に置換したい文字を、下の「置換文字列」には置換後の文字列を記入。対象ファイルを下で選択、追加していく。それだけで複数の対象ファイルを一気に検索し、置換対象文字列を置換してくれます。
私は今まで、この作業をテキストエディタQXのマクロを使ってやっていましたが、対象文字の文字数に制限があったり、動作が遅かったりで不満を持っていました。speeeeedを見つけてからは、もっぱらこれを使っています。動作の速さはさすがに単独ソフトだけあって、エディタのマクロとは比較になりません。

正規表現を使いこなせ

speeeeedには「大文字と小文字を区別」と「正規表現検索」というオプションチェック項目があります。
「大文字と小文字を区別」は、アルファベットの大文字と小文字を区別するかどうかです。チェックしなければ、 「MAC」と「Mac」は同じものとして認識します。
「正規表現」というのは聞き慣れない人もいるでしょうが、検索や置換には欠かせないテクニックです。
まず、ここから、BREGEXP.DLLというDLLを入手し、解凍したDLLをWindowsかspeeeeedのフォルダに入れておいてください。そうしないと正規表現が使えません。
正規表現はなかなか奥が深く、またいろいろなローカルルールがあるので使いこなすのは結構大変なのですが、トライしてみる価値はあります。うまく使いこなせば、相当やっかいな作業が一瞬にして終了します。

代表的な「正規表現」には以下のようなものがあります。(QXエディタのHELPにある正規表現の解説=araken氏記述=より抜粋、編集)

^  行頭
   (例)^前略
   行頭の「前略」という文字列にマッチ。

$  行末
   (例)。$
   行末の区点(。)にのみマッチし、それ以外の「。」にはマッチしない。

[xxx]  [] 内の任意の文字xxx
   (例)[abc]
   a または b または c にマッチ。

[^xxx]  [] 内以外の任意の文字xxx
   (例)[^ab]
   a と b 以外の文字にマッチ。
   (例)印[^刷]
   「印字」、「印画」、「印象」などにマッチするが、「印刷」にはマッチしない。
----------------------------------------------------------------
[ ] 内に指定する文字は - で区切って範囲指定することができます。
   (例)[ぁ-ん]
   すべてのひらがなにマッチ。
   (例)[A-Za-zA-Za-z]
   全角および半角のアルファベットにマッチ。
   (例)[^A-Za-z_]
   アルファベットおよびアンダースコア以外の文字にマッチ。
----------------------------------------------------------------

+  直前の正規表現1個以上
*  直前の正規表現0個以上(任意の文字0〜複数個)
.  任意の1文字
?  直前の正規表現0個または1個
\t  タブ
\n  改行
\  次の文字を通常の文字として扱う
   (例) \\
   \という文字そのものにマッチ。
   (例)\?
    ?という文字そのものにマッチ。
(注意)これらの文字は正規表現を構成する特殊な文字なので、そのまま入力するとその文字そのものを検索するのではなく、正規表現のルールを示していると解釈されるため、必ず「\」という文字を前につけて使います。

   (例)x.*y
   xy , xay , xaaaaaaay , xabcdあいうy などにマッチ。
   (例)a*
   a が0文字以上連続した文字列にマッチ。
   (例)xa*y
    xy , xay , xaay などにマッチ。    (例){[0-9]*}
   {} , {0} , {1000} , {12345678} など、{} 内に0個以上の数字がある文字列にマッチ。
   (例)a+
   a が1文字以上連続した文字列にマッチ。
   (例)xa+y
    xay , xaay , xaaay などにマッチ。
   (例)[a-z]+
   アルファベットの小文字が1文字以上連続した文字列にマッチ。
   (例)x[a-z]+y
   は xay , xpqrstuy , xzzzy などにマッチし、xy , xAy , xa#y などにはマッチしない。
   (例)a?
   a が0文字または1文字にマッチ。
   (例)xa?y
    xy と xay にマッチ。
   (例).?
   任意の文字が0文字または1文字にマッチ。
   (例)x.?y
    xy , xay, x1y , xあy などにマッチ。
   (例)エディター?を使う
   「エディタを使う」または「エディターを使う」にマッチ。
----------------------------------------------------------------

かなり難しい面もありますが、一種のゲームだと思えば多少の失敗もよい経験となるでしょう。
検索・置換テクニックは、様々な事務仕事で大いに役に立つはずです。

 「speeeeed」のダウンロード先はこちら
 パソコン初心者・探求者のためのガイドブック『パソコンは買ったまま使うな!』『ワードを捨ててエディタを使おう』『テキストファイルとは何か?』のご案内はこちら
前へ前へ  タヌパックのCDご購入はこちら   パソコンは買ったまま使うな      次へ次へ


index | takuki.com |  狛犬ネット | 音楽 | AICコラム |