単語の検索/置換: ワイルドカードを使用して郵便番号にスペースを追加する

単語の検索/置換: ワイルドカードを使用して郵便番号にスペースを追加する

Microsoft Word 2003の「検索と置換」ダイアログを使用して、郵便番号(カナダ)にスペースが含まれていない住所のリストを検索したいとします。例:

M2N3X6
L4C2A9
K5G1S7

真ん中にスペースを入れます:

M2N 3X6
L4C 2A9
K5G 1S7

これは簡単なはずですが、「置換」の部分で少し問題があります。検索フィールドに と入力することはわかりましたが[A-Z][0-9][A-Z][0-9][A-Z][0-9]、置換ボックスには、文字を保持したまま中央にスペースを追加するにはどうすればよいでしょうか。 のようなものになると思っていました\1\2\3 \4\5\6が、うまくいきません。

ご協力いただければ幸いです。

答え1

\1などは式を置き換え、何かが式であることを指定するには、それを()で囲みます。つまり、

([A-Z])([0-9])([A-Z])([0-9])([A-Z])([0-9])

それから

\1\2\3 \4\5\6

動作するはずです。表現できる数には制限があると思います(おそらく9つ)

答え2

のようなプログラムでできるような完全なサブ正規表現置換を (Microsoft Word の [検索と置換] ダイアログで) 行う方法が見つかりませんsed。しかし、問題に対する複数ステップの解決策を見つけました。まず、データに表示されず、Word の [検索と置換] で特別な文字 (たとえば、' @' または ' #') を含まない文字列を特定します。(または、それらの文字を使用してエスケープします。) データに表示されない限り、' ' などの単一の文字でもかまいません|。ここでは、" " を選択したと仮定します|。では、

  1. を検索し[A-Z][0-9][A-Z][0-9][A-Z][0-9]て に置き換えます^&|。これにより、非準拠の郵便番号のそれぞれに末尾に「|」というタグが付けられます。
  2. 検索して(先頭にスペースを付けて)[0-9][A-Z][0-9]|置換します ^&。これにより、必要な場所にスペースが挿入されます。
  3. 次に、 のすべての出現を検索し|、何も置換しません。

ワイルドカード モードを使用せずにこれを行うことができます。

  1. ^$^#^$^#^$^#^&|.
  2. ^#^$^#| ^&                (または^?^?^?| ^&)。
  3. |→何もない。

^$は と同等であることに注意してください[A-Za-z]。したがって、大文字と小文字が区別される状況では、「ワイルドカード」を使用する必要があると思います。

答え3

非常に簡単な方法: Excel の「テキストを列に分割」機能を使用し、CONCATENATE 数式を使用して中央にスペースを入れて再結合します。数式は =CONCATENATE(A1," ",B1) になります。

関連情報