2013年05月19日

正規表現による置換の例……表記形式を変更する

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

私がDTP作業を担当した仕事で、文章中の「企業A」「企業B」……「企業Z」となっている箇所を、それぞれ「A社」「B社」……「Z社」という表記形式に変更してほしいという指示をいただいたことがありました(下図参照)。

0519-002.png


これを実現したい場合は下図のように設定します。

0519-001.png

『検索文字列』欄は「企業([A-Z])」となっています。「[A-Z]」は「AからZまでのいずれか1文字」という意味です。半角括弧で囲んでいるのは、置換時に使用するためです。
『置換文字列』欄は「$1社」となっています。何度かご説明したように「$1」は『検索文字列』内の1つめの半角括弧で囲まれた部分をそのまま使用する、という意味です。

上記設定で『すべて置換』を実行すると下図のようにすべての該当箇所が一気に置換できます。




もう1つ例を挙げておきましょう。

下図のように「xxxx/yy/zz」という表記を「xxxx年yy月zz日」という表記形式に置換します。この時、年月日の間にはタブを挿入します。また、月日の十の位が「0」の時は、その「0」を削除することにします。

0519-202.png


この場合、下図のように設定すれば良いでしょう。

0519-101.png

『検索文字列』欄は「(\d{4})/0?(\d+)/0?(\d+)」となっています。半角括弧で囲んでいるのは、いずれも置換時に使用する部分です。
最初の半角括弧内にある「\d{4}」の「\d」は数字、「{4}」は4つという意味です。つまり「数字が4つ連続する」ということになります。
「/」は置換後は使用しないので半角括弧で囲みません。
「0?」の「?」は「存在してもしなくても良い」という意味です。つまり「0が存在してもしなくても良い」ということになります。この部分も置換後は使用しないので半角括弧で囲む必要はありません。
2番目の半角括弧内「\d+」の「+」は「1つ以上存在する」という意味です。つまり「数字が1つ以上連続する」ということになります。1桁数字でも2桁数字でも構わないわけです。
あとは同様に考えれば良いので説明を省きます。
『置換文字列』欄は「$1年\t$2月\t$3日」となっています。このうち「$1」「$2」「$3」は、それぞれ『検索文字列』内の1つ目、2つ目、3つ目の半角括弧で囲まれた部分をそのまま使用する、という意味です。
また「\t」は「タブを挿入する」という意味です。

上記設定で『すべて置換』を実行すると下図のように表記形式を変更することができます。

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

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


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