Удалить узел XML в Notepad++

У меня есть большой XML со структурой ниже. Теперь я хочу избавиться от <tuv xml:lang="en-GB"><seg>CONTENT</seg></tuv> узлы, поэтому для каждого блока остается только часть de-DE (<tuv xml:lang="de-DE"><seg>CONTENT</seg></tuv>). Есть ли способ сделать это с помощью Notepad++ или другого инструмента? Я не очень увлекаюсь кодированием, поэтому чем проще, тем лучше.

Что я имею:

<tu tuid="ID_0">
<tuv xml:lang="en-GB">
<seg>Hello!</seg>
</tuv>
<tuv xml:lang="de-DE">
<seg>Hallo!</seg>
</tuv>
</tu>
<tu tuid="ID_1">
<tuv xml:lang="en-GB">
<seg>This is a test content! :)</seg>
</tuv>
<tuv xml:lang="de-DE">
<seg>Das ist ein Testinhalt! :)</seg>
</tuv>
</tu>
<tu tuid="ID_2">
<tuv xml:lang="en-GB">
<seg>All your base are belong tu us ...</seg>
</tuv>
<tuv xml:lang="de-DE">
<seg>Och nö, echt jetzt?</seg>
</tuv>
</tu>

Что я хочу:

<tu tuid="ID_0">
<tuv xml:lang="de-DE">
<seg>Hallo!</seg>
</tuv>
</tu>
<tu tuid="ID_1">
<tuv xml:lang="de-DE">
<seg>Das ist ein Testinhalt! :)</seg>
</tuv>
</tu>
<tu tuid="ID_2">
<tuv xml:lang="de-DE">
<seg>Och nö, echt jetzt?</seg>
</tuv>
</tu>

2 ответа

Ctrl+H (Заменить...)

Найти то, что: <tuv xml:lang="en-GB">.*?</tuv>

Режим поиска: регулярное выражение

проверил: соответствует новой строке

В NotePad++ откройте диалоговое окно "Заменить" и укажите:

Найти то, что: <tuv xml:lang="en-GB">.*?</tuv>

Заменить:

Затем установите режим поиска "Регулярное выражение" и установите флажок в ". соответствует символу новой строки.

Заменить все теперь должны удалить все блоки en-GB. Примечание: уловка здесь с? следуя *. Он предписывает регулярному выражению быть не жадным.

Другие вопросы по тегам