2013年05月17日

特定の言い回しの部分だけを置換する……正規表現による置換

DTP作業者にとっての難易度 ★★★☆☆(3)

たとえば通常のテキスト検索/置換で“箇所”を“ヶ所”に置換しようと考えた場合、ダイアログは下図のように設定します。

※置換後、文字スタイルを使用して蛍光ペン風表示するよう設定しています。


0516-001.png

しかしこの設定だと、“該当箇所”だった部分まで“該当ヶ所”となってしまいます。これでは適切な置換ではありませんね。




このような時は正規表現による検索/置換をおこないます。ダイアログは下図のように設定すれば良いでしょう。

0516-002.png

当ブログは編集者の方のためのものなので正規表現についてあまり詳しくは触れませんが『検索文字列』の“\d”は数字ということ。“+”はその文字(数字)を1回以上繰り返すという意味です。つまり全体では『数字が1文字以上存在した後に“箇所”という文字が続く部分』を検索するという設定になっています。

『置換文字列』の“$1”は『検索文字列』内の1つめの半角括弧で囲まれた部分をそのまま使用するという意味です。今回で言えば、1文字以上の数字部分を指します。これに続いて“ヶ所”という文字列を加えるという設定になっています。

この設定で実行すれば“該当箇所”は数字が存在しないため検索/置換の対象にならず、“1箇所”と“20箇所”だけが検索/置換の対象になるわけです。



また、下図のように『置換文字列』を空欄にして『置換形式』で文字スタイルを設定すれば、特定の言い回しの部分に対して文字スタイルを適用することもできます。ここでは数字の直後の“円”の文字スタイルを変更する設定になっています。

0516-003.png

なお『検索文字列』の“(?<=\d)”は、直前の文字が数字“\d”であること……という条件を示しています。



正規表現による検索/置換を活用すると書式指定や赤入れ対応が効率化できます。この後も、少し正規表現による検索/置換についてご紹介していきたいと思っています。

(追記)

2つ目の動画では直前が数字の場合のみ“箇所”を“ヶ所”に置換していました。しかし“数箇所”や“何箇所”という文字列もそれぞれ“数ヶ所”と“何ヶ所”に置換したいというケースがあるかもしれません。このような場合はダイアログを下図のように設定します。

0517-001.png

『検索文字列』の“(?<=[\d数何])”は、直前の文字が数字(\d)か“数”か“何”のいずれかの文字であれば良いという条件を示しています。実行結果は以下の動画をご覧ください。



posted by 照山裕爾 at 03:09| Comment(0) | TrackBack(0) | InDesign-検索/置換 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。