Microsoft Office Word 2010: 「正規表現」(ワイルドカード) を使用して行全体を「検索して置換」する方法を教えてください。

Microsoft Office Word 2010: 「正規表現」(ワイルドカード) を使用して行全体を「検索して置換」する方法を教えてください。

私はしたいと思います「検索と置換」Microsoft Office Word 2010 の行全体いくつかの基準に一致するもの。

公式ドキュメントで解決策を見つけようとしましたが、答えは見つかりませんでした。

(ちなみに、さらに役立つ非公式文書が 2 つあります。ワイルドカードを使用した検索と置換;Microsoft Word の正規表現


例えば、「見出し2」スタイルを変更し、それらを 記号の間に収まるように置き換えます##。つまり、これは元のテキストです: This is my title、これを見つけて、次のように置き換えたいと思います: ## This is my title ##(この方法で、外部プラグインを使用せずに、テキストのタイトルを Wiki 互換の見出し 2 に変換できます(編集: 申し訳ありませんが、その間に、MediaWiki 互換の見出し 2 スタイル==では の代わりにを使用していることに気付きました##が、要点は変わりません) )。

したがって、 Ctrl+の後にHワイルドカードを使用する「書式 > スタイル > 見出し2」を選択してこれを試してみましたが、うまくいきませんでした。(*^13>)または(<*^13>)^13一致する「段落区切り / 'キャリッジ' リターン」(見るこれ) - これにより Word が狂ったように検索し、GUI が数分間フリーズしました (!)。最終的には何も見つかりませんでした (ただし、見出し 2 スタイルのテキストはあります)。

Microsoft Word 2010 - 検索と置換 (*^13>) - 応答なし (ワイルドカードの使用がチェックされています)

これは適切なパターンではないので、Word で行全体を検索して置換する適切な方法は何でしょうか?

答え1

何か見落としているのかもしれませんが、何らかの理由で、1 回の検索/置換操作でこれを実行できませんでした。

手順

  1. 前に:

    1

  2. 空の文字列を置換(フォーマット見出し2) を "## ^& ##" で置き換えます (書式なし):

    2

  3. 最初の交換後:

    3

  4. 「^p ##」(フォーマットなし)を「 ##^p」(フォーマットなし)に置き換えます(置換文字列の先頭にスペースがあることに注意してください!):

    4

  5. 2回目の交換後:

    5

答え2

この質問は古いものだとわかっていますが、ここでも他の場所でも実用的な解決策が見つからなかったので、後世のために答えを投稿しようと思いました。

おそらく Word は、質問者が説明した作業を実行する単一の置換操作を実行できる機能を強化しました。

検索対象:(*{1,})

- -スタイル:見出し1

と置換する:\1

- -スタイル:普通

(*{1,}) の代わりに (*) を使用すると、行の最初の文字が削除されることに注意してください。どうやら、(*) には、私が調べる気のない特別な意味が含まれているようです。

関連情報