0

複数の属性を持つかなり大きな XML ドキュメントがあります。実際のデータのないサンプル ファイルであるため、現在、すべての属性の値は "String" になっています。したがって、ファイルは次のようになります。

<Message>
 target="String"
 type="String"
 date="String"
 etc. etc.
>

「String」のすべてのインスタンスを = の直前に表示される属性名に置き換える方法はありますか? したがって、すべての属性は次のようになります。

<Message>
 target="target"
 type="type"
 date="date"
 etc. etc.
>

Notepad ++で正規表現を使用してこれは可能ですか? それとも何か他のものを使用していますか?お手伝いありがとう。

4

1 に答える 1

0

Notepad++ では、正規表現の置換を使用します。Find what to be\b(\w+)="String"Replace withを be に設定します\1="\1"。単語の大文字と小文字を区別するチェック ボックスStringの設定を調整することができます。

説明。は、単語とそうでないものの\b境界に一致します。は(\w+)1 つ以上の単語文字に一致し、それらをキャプチャ フィールドに保存します。="String"マッチそのもの。置換では\1、保存されたキャプチャ フィールドが挿入されます。他の必要な文字と一緒に 2 回挿入されます。

上記でファイル内の項目が多すぎる場合は、検索し^_(\w+)="String"$て置き換えてみてください。両方の文字列で単一のスペースに置き換える必要があることに_\1="\1";注意してください。スペースを配置する必要がある場所を明確に示すために、ここで変更が行われます。_上記の説明が適用されますが、さらにFind の先頭で、行の先頭に一致するもの^と行の末尾に一致するものがあります。$

于 2013-08-14T08:14:27.227 に答える