
ドキュメントには、いたるところに (TL by user) があります。これを何もないものに置き換えたい (つまり、すべて削除したい) のですが、ユーザーは異なるか、複数のユーザーがいる可能性があります (TL by user1) (TL by user3, superuser1)。これまで、(TL by .*) を検索して何も置き換えようとしましたが、何らかの理由でユーザーと周囲の括弧以外のすべてが削除され、(user1) または (user3,superuser1) が残ります。正規表現を一致させて、括弧と内部のすべてを含む一致 (TL by user) 全体を置換するにはどうすればよいですか?
これはWord 2010で作成したものです。今日帰宅したら、さらに詳しい情報を載せます。
答え1
Office には実際の「正規表現」検索はありませんが、「ワイルドカードを使用する」オプションを使用できます。
これは実際の正規表現ではないので、.
何も役に立ちません。必要なのは*
ワイルドカードだけです。
次のコツは、Word でワイルドカード検索を実行するときに、括弧が()
グループ化のために使用されることです (RegEx のように)。そのため、リテラル括弧を検索する場合は、バックスラッシュ ( ) でエスケープする必要があります\
。
これらすべてを組み合わせると、次の Find コマンドが完成します。これは、希望どおりに機能します (私のテストに基づく)。
\(TL by *\)
私が使用した検索と置換ダイアログの設定:
答え2
あなたの質問にはバージョンとプラットフォームの情報が欠けていますが、この記事MSのウェブサイトで簡単に言うと、
以下のような名前のリストを入力してください
Chuck Norris Bruce Lee James Bond Bond
ホームタブの編集グループ、クリック交換する開く検索と置換ダイアログボックス。
- 表示されない場合はワイルドカードを使用するチェックボックスをオンにしてクリックもっとをクリックし、チェック ボックスをオンにします。チェック ボックスをオンにしないと、Word はワイルドカード文字をテキストとして扱います。
次の文字を入力してください何を見つけるかボックス。2 つの括弧の間には必ずスペースを入れてください。
(<*>) (<*>)
の中にと置換するボックスに次の文字を入力します。カンマと 2 番目のスラッシュの間には必ずスペースを入れてください。
\2, \1
表を選択し、「すべて置換」をクリックします。Wordは名前を置き換え、次のようにカンマで区切ります。
Norris, Chuck Lee, Bruce Bond, James Bond
警告ただし、OSX 10.10.2 で Office 2011 を使用している私の場合は、この方法は機能しませんでした。ただし、より高度な機能については、このページに詳しい情報が記載されています。
答え3
Microsoft は独自のワイルドカード言語「正規表現」を主張しており、これは高度な検索または置換ダイアログでのみ使用できます。また、その言語は他の正規表現とは少し異なります。