• 締切済み

Mac Indesign CS4での正規表現

 総ページ数300頁ほどの仕事を受けたのですが、和欧文の間隔を擬似的に4分アキに見せるために、和文と欧文の間に半角スペースが入っているテキスト書類を支給されました。  MacOS 10.6のIndesign cs4で組む予定なのですが、このテキストから和分と欧文の間の半角スペースのみ削除しようと悪戦苦闘中です。(すべての半角スペースを削除するのは簡単にできるのですが…(^_^;))  正規表現を使えば出来るのではないかと試行錯誤しているのですが、これまで正規表現を使った事が無いため、なかなか思うようにいきません。どうかお知恵をお貸しください。  また、Indesignによる正規表現について詳しく書かれている書籍などがあれば合わせてご紹介ください。よろしくお願いします。

みんなの回答

  • Zimmerman
  • ベストアンサー率37% (15/40)
回答No.2

No1です。 補足で、 文字化けによって エスケープ文字が¥マークになっています。 ¥マークをバックスラッシュに置き換えてください。

money6
質問者

補足

詳しく教えていただいてありがとうございます。 早速試してみましたが、残念ながら単語間の半角スペースも取れてしまいました。 もし1回の検索置換では無理なら、 2バイト文字と1バイト文字の間の半角スペース 1バイト文字と2バイト文字の間の半角スペース と2回検索置換すれば上手くいくかもしれませんね… 自分でも試行錯誤してみますので、又何か解ったらご教授ください。 よろしくお願いします。

すると、全ての回答が全文表示されます。
  • Zimmerman
  • ベストアンサー率37% (15/40)
回答No.1

完璧ではないかとは思いますが、 検索文字 \x20([\x20\l\u]+)\x20 \x20は半角スペースです。 前後が半角スペースで挟まれています。 中の([\x20\l\u]+)は 文字種([]で囲む) \x20:半角スペースや \l\u:欧文アルファベット文字の +:連続 これを()で括っておけば、置換文字の方で参照できます。 それで、置換文字は $1 これが()で括った部分の参照です。 前後の半角スペースは参照に入っていないので、 前後の半角スペースだけとれると思います。 欧文が複数の単語でできている場合でも、 単語間の半角スペースはそのまま残ると思います。 どんな場合でも期待通りになるかどうかは保障できませんので、 注意して、使えるようでしたらどうぞ。

すると、全ての回答が全文表示されます。

関連するQ&A