Wordの高度な検索と置換で、一桁数字は全角に、二桁以上の数字は半角に統一
編集者から、下のような目次原稿を受け取ったとします。
得てして、半角数字と全角数字がルールなく混在しています。
まず、混在具合を調べるために、「高度な検索と置換」で半角数字だけハイライト表示します。
検索対象 → [0-9] ※すべて半角で入力
青く表示された数字が、半角です↓
目次を作成するために、
- 一桁数字は全角
- 二桁数字は半角
に統一します。
〈手順1〉すべての数字を全角数字に変換します。
半角数字が青く表示された状態で、「文字種の変換」→「全角」を選択
全ての数字が全角になりました。
〈手順2〉二桁以上の数字を半角にします。
検索対象 → [0-9]{2,} ※0と9だけ、全角入力
意味 → 二桁以上の全角数字を選びなさい。
青い表示の数字が、二桁以上の全角数字です↓
青い表示の状態で、「文字種の変換」→「全角」を選択
二桁以上の数字が半角になりました。
次の記事で、不統一のアキを統一します↓
ざんへらと正規表現とワイルドカード
改めて名乗りますが、この集まりは「残業を減らそう!」の会です。
略して、「ざんへら」。
ま、それはいいとして。
ざんへらが目指すのは、「WordとInDesignのリンク」です。
WordとInDesignのリンクは、「検索と置換」を多用します。
「検索と置換」は簡単ですが、ざんべらはさらに上の「正規表現」を勉強します。
Wordでは、ワイルドカードと呼ばれるものです。
正規表現とワイルドカードはプログラムの一種で、とても役に立つ魔法の呪文を使います。
これです↓
あっという間に、本文組みが終わります(準備に時間が必要だけど)。
魔法の呪文はとっつきにくいものの、慣れればさほど難しいことはありません。
というか、ざんへらではあまり難しいことはしません。
まず、下の記事を書いてみました。
呪文を覚える必要はありません。
こんなことができるんだ、へー、って感じで、気軽に読んでください。
こんなことはできませんか?って質問してくれると理解が深まります。
注意→正規表現とワイルドカードは同じ思想ですが、残念ながら呪文が違います。
Wordの高度な検索と置換で、英語の名前と苗字の並びを変える方法
英語の名前と苗字の順番を入れ替えます。
検索と置換は、
検索対象 → <([A-Za-z]@) ([A-Za-z]@)>
置換後の文字列 → \2 \1
すべてを置換すると、
感動しました!
参考にしたサイトは→Wordで「正規表現」を使う | You Look Too Cool
Wordの高度な検索と置換で、年月日に -(ハイフン)を入れる方法
下の文章の年月日に、-(ハイフン)がありません。
数字の間に-(ハイフン)を入れます。
検索と置換は、
検索対象 → ([0-9]{4})([0-9]{2})([0-9]{2})
置換後の文字列 → \1-\2-\3
すべてを置換すると、下のようになります。
置換後の文字列を \1年\2月\3日 にすると、
下のようになります。
感動しませんか?
参考にしたサイトは→Wordで「正規表現」を使う | You Look Too Cool
〈正規表現の勉強〉行末の数字の前に「右インデント タブ」を入れる
行末の数字の前に、「右インデント」を入れます。
紹介する呪文は、
~y (右インデント タブ)
下の黄色の箇所です。
正規表現は、
検索文字列 → (\d+)\r
- (\d+) 一桁以上の数字
- \r 改行
置換文字列 → ~y$1\r
- ~y 右インデント タブ
- $1 1番目にグループ化された文字列
- \r 改行
- ~y の出し方↓
文字を選択するときは、最後の行の改行まで
結果です↓
右インデントタブを使うと、タブのうしろは右揃えになります。
この機能は、目次や索引で活躍します。
〈正規表現の勉強〉行末の数字だけを選ぶ
行末の数字だけを選びます。
正規表現は、
検索文字列 → (\d+)\r
- (\d+) 一桁以上の数字
- \r 改行
- つまり一桁以上の数字と改行が並んだ箇所を選びなさい、という意味です
置換形式 → 文字スタイルを指定します
〈正規表現の勉強〉並び順を変える(グループ化された文字列)
文字の順番を変えることができます。
紹介する呪文は、
\d+ (一桁以上の数字)
+ (直前の文字が1回以上)
$1 (1番目にグループ化された文字列)
$2 (2番目にグループ化された文字列)
下の例文は、左側が数字、右側が性別です。
左側に性別、右側を数字に変えます。
検索文字列 → (\d+)(\D)
- (\d+) の意味は、数字を選びなさい。+をつけると、一桁以上という意味
- (\D) の意味は、数字以外を選びなさい。
置換文字列 → $2$1
- $2 の意味は、検索文字列の2番目の結果を表しなさい。
- $1 の意味は、検索文字列の1番目の結果を表しなさい。
- $1、$2…..を、グループ化された文字列と呼びます。
この魔法は、便利です。よく使います。
結果、
みごとに逆になりました。
ちなみに、(\d+) の + をつけないと、変てこりんになります↓
保護中: デザイン部のコーチング
〈追記〉Wordでの、英語の全角と半角の変換について「高度な検索と置換」
記事「Wordでの、英語の全角と半角の変換について」の追記です。
Kotoのコメント「カタカナまで半角
用意した原稿は、
事件は、すべての文字を選択したから起こったのです!
文字種の変換で
半角を選ぶと、
下のように、カタカナも半角になってしまいます。
半角への指示は下の方法もあります↓
確かに、これは事件!
Kotoの解決策は、「高度な検索と置換」を使います。
「検索」欄は、
検索対象に、[0–9A–Za–z] ※青字は半角、赤字は全角で入力
※全角の数字と英語を選択するという意味です。
「検索結果〜」と「ワイルドカード〜」にチェックを入れます。
半角を選ぶと、
カタカナは変換されません。
このワイルドカードを使った「高度な検索と置換」は、これからもどんどん記事にします。
Word→InDesignのリンク化では、避けて通ることはできません。
遠慮なく質問してください。