web-dev-qa-db-ja.com

MS Word文書でパターンを検索する方法はありますか?

完全一致ではなく、MS Word文書内のパターンを検索する方法はありますか?

すべての小数が/ではなく.と書かれているドキュメントがあります。たとえば、ペルシャのタイポグラフィでは小数点に1.02ではなく1/02を使用しているため、/.と記述されています。

/は小数だけでなく、分数やパーセンテージなどの他の用途もあるので、Word文書内でN/Mのようなパターンを見つける方法があります。ここで、Nは10進数を示し、Mも別の10進数を示していますか?

31
codezombie

word文書内の「N/M」のように、Nは10進数を示し、Mは別の10進数も示します

検索の場合のみ、^#/^#を検索パラメーターとして使用できます。 moreオプションおよびfind Specialの下には、他にも役立つオプションがいくつかあります。

Nb:^#は小数点第1位なので、x/yyを特に探す場合は^#/^#^#などになります。

交換する、

これはより良いオプションであり、([0-9])/([0-9])で検索を実行して\1.\2で置き換え、「ワイルドカードを使用する」を有効にします

13
Charm_quark

Microsoftの正規表現の実装を使用する

押す CTRL+H "クリック詳細"有効ワイルドカードを使用する

  • 何を見つける:([0-9]{1,2})/([0-9]{2})
  • 置換:\1.\2

enter image description hereenter image description here

これはクレイジーな検索パターンのように見えるので、調べてみましょう。

  • [0-9]は単一の数値(0、1、2、3、4、5、6、7、8および9)を表します
  • {1,2}は、前の文字または式の出現回数をカウントするために使用されます。私たちの場合、これは1つまたは2つの数値のみを検索することを意味します。

    注意:ドイツ語のWordを使用している場合、;の代わりに,を区切り文字として使用する必要があります

  • /には特別な意味はありません。文字通りスラッシュを検索します
  • ()丸括弧は重要です。これらはパターンを論理シーケンスに分割するため、後で\1\2...\nを置換パターンで使用できます。このようにして値を保存します

詳細については、Microsoftのサポート記事のセクション式、ピースごとまたは Graham Mayor's Wordサイト を参照してください。


VBA(より良いソリューション)

他のRegExエンジンのデフォルトに準拠したVBAメソッドを使用することをお勧めします。それらは ドキュメント化されています であり、より多くの人々があなたを助けることができます。

このマクロは、ドキュメント全体を検索して指定された文字列に置き換えるためのRegExパターンを要求します。

押す ALT+F11 VBAエディターを開きます。コードをどこにでも貼り付けて実行する F5

Sub RegexReplace()

    Dim RegEx As Object
    Set RegEx = CreateObject("VBScript.RegExp")    
    On Error Resume Next

    RegEx.Global = True
    RegEx.Pattern = InputBox("Find what:")
    ActiveDocument.Range = _ 
        RegEx.Replace(ActiveDocument.Range, InputBox("Replace with:"))        

End Sub
  • 何を見つける:(?!\d)/(?=\d)
  • 置換:.

enter image description hereenter image description here

37
nixda