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 の [検索と置換] で特別な文字 (たとえば、' @
' または ' #
') を含まない文字列を特定します。(または、それらの文字を使用してエスケープします。) データに表示されない限り、' ' などの単一の文字でもかまいません|
。ここでは、" " を選択したと仮定します|
。では、
- を検索し
[A-Z][0-9][A-Z][0-9][A-Z][0-9]
て に置き換えます^&|
。これにより、非準拠の郵便番号のそれぞれに末尾に「|
」というタグが付けられます。 - 検索して(先頭にスペースを付けて)
[0-9][A-Z][0-9]|
置換します^&
。これにより、必要な場所にスペースが挿入されます。 - 次に、 のすべての出現を検索し
|
、何も置換しません。
ワイルドカード モードを使用せずにこれを行うことができます。
^$^#^$^#^$^#
→^&|
.^#^$^#|
→^&
(または^?^?^?|
→^&
)。|
→何もない。
^$
は と同等であることに注意してください[A-Za-z]
。したがって、大文字と小文字が区別される状況では、「ワイルドカード」を使用する必要があると思います。
答え3
非常に簡単な方法: Excel の「テキストを列に分割」機能を使用し、CONCATENATE 数式を使用して中央にスペースを入れて再結合します。数式は =CONCATENATE(A1," ",B1) になります。