5

У меня есть большой 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 ответа2

5

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

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

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

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

4

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

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

Заменить:

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .