web-dev-qa-db-ja.com

Microsoft Office Word 2010:「正規表現」(ワイルドカード)を使用して行全体を「検索して置換」する方法は?

"検索と置換"Microsoft Office Word2010の行全体いくつかの基準に一致します。

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

(ところで、ここにさらに2つの便利な非公式ドキュメントがあります: ワイルドカードを使用した検索と置換 ; Microsoft Wordの正規表現


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

だから後 Ctrl+H、「ワイルドカードを使用 "をチェックし、[フォーマット]> [スタイル]> [見出し2]を選択しましたが、これを試しましたが、機能しませんでした:(*^13>)または(<*^13>)、ここで^13 matchs "Paragraph break/'carriage' return"(see this )-これにより、Wordの検索が狂ってしまい、GUIが数分間フリーズしました(! )。最後に、何も見つかりませんでした(ただし、見出し2スタイルのテキストはあります)。

Microsoft Word 2010 - Find and Replace (*^13>) - Not Responding (Use Wildcards checked)

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

6
Sk8erPeter

何かが足りないかもしれませんが、何らかの理由で、1回の検索/置換操作でこれを行うことができませんでした。

ステップ

  1. 1

  2. 空の文字列(formatHeading 2)を "## ^&##"(フォーマットなし)に置き換えます

    2

  3. 最初の交換後

    3

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

    4

  5. 2回目の交換後

    5

4
Karan

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

おそらく、Wordによって機能が強化され、アスカーが説明した仕事を実行する単一の置換操作を実行できるようになりました。

何を見つける:(* {1、})

---スタイル:見出し1

置換:\ 1

---スタイル:通常

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

0
Phil Caskey