0

私はメモ帳 ++ を使用しており、多数の xml ファイルがあります。たとえば、XML ファイルが SomeXML.XML であるとします。

ファイル内には、次のようなエントリがあります。 //SERVER-NAME/Graphics/Materials/Downloaded/Fabric Grey.jpg

これらのエントリ (すべて \SERVER-NAME で始まり、jpg または png で終わる) を見つけて、次のように置き換えたいと思います。

//SomeXML.XML/Fabric Grey.jpg へのパス

それは実行可能でなければならない - しかし、私はそれを理解することはできません! ヘルプ。

4

2 に答える 2

0

-- パート 1: 一般的な置き換え --

次の正規表現を試してみてください。

//.*/([^/]+\.(jpg|png))

それを分解するには:

  • 2 つのスラッシュ
  • 1 つ以上の文字が続く (は.何にでも一致し、+1 つ以上を意味します)
  • スラッシュが続く
  • スラッシュ以外のものが続きます: 拡張子の前のファイル名 ([^\]はスラッシュ以外のものを意味し、+もう一度 1 つ以上を意味します)。
  • ドットが続く (ドット\.をエスケープするため、文字どおりに解釈されます)
  • jpg または png が続く ( |OR を意味する)

あとはお好きなものに差し替えてください。置換で $1 を使用すると、ファイル名に置き換えられます。したがって、あなたの例SomeXML.XML/$1では に置き換えられSomeXML.XML/Fabric Grey.jpgます。

notepad++ の置換ウィンドウのスクリーンショット

-- パート 2: SomeXML.XML を現在のファイル名に置き換える --

残念ながら、同じ置換アクションでファイル名を入力することはできません。ファイルごとに個別に実行する必要がありますが、マクロを使用すると高速化できます。以下の手順にはマクロの記録が含まれているため、説明どおりに正確に実行することが重要です。

  1. notepad++ でファイルを開きます (最初に上記の置換を実行します)。
  2. マクロ -> 記録開始をクリックします。
  3. ctrl+f を押して検索ウィンドウを開きます。
  4. 置換タブに移動します。
  5. 検索ボックスで、しかしSomeXML.XML
  6. 置換ボックスを空にします。
  7. [編集] -> [クリップボードにコピー] -> [現在のファイル名をクリップボードにコピー] をクリックします。
  8. 置換ボックスで ctrl+v を押して、ファイル名を貼り付けます。
  9. [すべて置換] をクリックします (開いているすべてのドキュメントではありません)。
  10. 置換ウィンドウを閉じます。
  11. [マクロ] -> [記録の停止] をクリックします。
  12. 置換を行うすべてのファイルで、Ctrl+Shift+P を押して、記録されたマクロを実行します。

完全に自動化されているわけではありませんが、これですでに作業がかなり楽になるはずです。

于 2015-07-15T15:41:21.740 に答える