Microsoft Word で括弧で囲まれたテキストを正規表現で検索して置換するにはどうすればいいですか

Microsoft Word で括弧で囲まれたテキストを正規表現で検索して置換するにはどうすればいいですか

ドキュメントには、いたるところに (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のウェブサイトで簡単に言うと、

  1. 以下のような名前のリストを入力してください

    Chuck Norris
    Bruce Lee
    James Bond Bond
    
  2. ホームタブの編集グループ、クリック交換する開く検索と置換ダイアログボックス。

  3. 表示されない場合はワイルドカードを使用するチェックボックスをオンにしてクリックもっとをクリックし、チェック ボックスをオンにします。チェック ボックスをオンにしないと、Word はワイルドカード文字をテキストとして扱います。
  4. 次の文字を入力してください何を見つけるかボックス。2 つの括弧の間には必ずスペースを入れてください。

    (<*>) (<*>)

  5. の中にと置換するボックスに次の文字を入力します。カンマと 2 番目のスラッシュの間には必ずスペースを入れてください。

    \2, \1

  6. 表を選択し、「すべて置換」をクリックします。Wordは名前を置き換え、次のようにカンマで区切ります。

    Norris, Chuck
    Lee, Bruce
    Bond, James Bond
    

警告ただし、OSX 10.10.2 で Office 2011 を使用している私の場合は、この方法は機能しませんでした。ただし、より高度な機能については、このページに詳しい情報が記載されています。

答え3

見るhttps://support.office.com/en-us/article/Word 文書内のテキストとその他のデータを検索して置換する-c6728c16-469e-43cd-afe4-7708c6c779b7詳細は

Microsoft は独自のワイルドカード言語「正規表現」を主張しており、これは高度な検索または置換ダイアログでのみ使用できます。また、その言語は他の正規表現とは少し異なります。

関連情報