Wordの高度な検索と置換で、数字を3桁区切りにする方法

 

下に数字が並んでいます。

3桁区切りにする方法です。

高度な検索と置換を使います。

検索対象 → ([0-9]{1,3})([0-9]{1,3}) 

意味 → 半角数字の1桁以上3桁未満が2つ連続したもの

置換後の文字列 → \1,\2

意味 → 結果の1番目と2番目の間に、 , を入れる

結果は↓

変なところに、, が入りました。

間違いです。

そこで、下の画面の箇所を「上へ」に変更すると、

正しく、, が挿入されました。

ほかの方法もあります。

 

検索対象 → ([0-9])([0-9][0-9][0-9][!0-9])

置換後の文字列 → \1,\2

 


テスト用原稿→数字の原稿02


参考にしたサイトは→「3桁区切り検索と置換」です。

Wordの高度な検索と置換で、一桁数字は全角に、二桁以上の数字は半角に統一

編集者から、下のような目次原稿を受け取ったとします。

得てして、半角数字と全角数字がルールなく混在しています。

まず、混在具合を調べるために、「高度な検索と置換」で半角数字だけハイライト表示します。

検索対象 → [0-9] ※すべて半角で入力

青く表示された数字が、半角です↓

目次を作成するために、

  1. 一桁数字は全角
  2. 二桁数字は半角

に統一します。


〈手順1〉すべての数字を全角数字に変換します。

半角数字が青く表示された状態で、「文字種の変換」→「全角」を選択

全ての数字が全角になりました。


〈手順2〉二桁以上の数字を半角にします。

検索対象 → [0-9]{2,} ※0と9だけ、全角入力

意味 → 二桁以上の全角数字を選びなさい。

青い表示の数字が、二桁以上の全角数字です↓

青い表示の状態で、「文字種の変換」→「全角」を選択

二桁以上の数字が半角になりました。

次の記事で、不統一のアキを統一します↓

ざんへらと正規表現とワイルドカード

改めて名乗りますが、この集まりは「残業を減らそう!」の会です。
略して、「ざんへら」。
ま、それはいいとして。

ざんへらが目指すのは、「WordとInDesignのリンク」です。

WordとInDesignのリンクは、「検索と置換」を多用します。
「検索と置換」は簡単ですが、ざんべらはさらに上の「正規表現」を勉強します。


Wordでは、ワイルドカードと呼ばれるものです。

正規表現とワイルドカードはプログラムの一種で、とても役に立つ魔法の呪文を使います。

これです↓

あっという間に、本文組みが終わります(準備に時間が必要だけど)。

魔法の呪文はとっつきにくいものの、慣れればさほど難しいことはありません。
というか、ざんへらではあまり難しいことはしません。
まず、下の記事を書いてみました。


〈正規表現の勉強〉数字を選ぶ

 

呪文を覚える必要はありません。

こんなことができるんだ、へー、って感じで、気軽に読んでください。

こんなことはできませんか?って質問してくれると理解が深まります。


注意→正規表現とワイルドカードは同じ思想ですが、残念ながら呪文が違います。

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+ (一桁以上の数字)

+ (直前の文字が1回以上)

$1 (1番目にグループ化された文字列)

$2 (2番目にグループ化された文字列)

下の例文は、左側が数字、右側が性別です。

左側に性別、右側を数字に変えます。

検索文字列 → (\d+)(\D) 

  • (\d+) の意味は、数字を選びなさい。+をつけると、一桁以上という意味
  • (\D) の意味は、数字以外を選びなさい。

置換文字列 → $2$1

  • $2 の意味は、検索文字列の2番目の結果を表しなさい。
  • $1 の意味は、検索文字列の1番目の結果を表しなさい。
  • $1、$2…..を、グループ化された文字列と呼びます。

この魔法は、便利です。よく使います。

結果、

みごとに逆になりました。

ちなみに、(\d+) の + をつけないと、変てこりんになります↓

〈追記〉Wordでの、英語の全角と半角の変換について「高度な検索と置換」

記事「Wordでの、英語の全角と半角の変換について」の追記です。

Kotoのコメント「カタカナまで半角になってしまうという事件がありました…^^;」の解決策をまとめました。


用意した原稿は、

事件は、すべての文字を選択したから起こったのです!

文字種の変換で

半角を選ぶと、

下のように、カタカナも半角になってしまいます。

半角への指示は下の方法もあります↓

確かに、これは事件!


Kotoの解決策は、「高度な検索と置換」を使います。

「検索」欄は、

検索対象に、[9AZa] ※青字は半角、赤字は全角で入力

※全角の数字と英語を選択するという意味です。

「検索結果〜」と「ワイルドカード〜」にチェックを入れます。

半角を選ぶと、

カタカナは変換されません。

このワイルドカードを使った「高度な検索と置換」は、これからもどんどん記事にします。

Word→InDesignのリンク化では、避けて通ることはできません。

遠慮なく質問してください。