Найти и заменить звездочкой - PullRequest
0 голосов
/ 28 июня 2018

Это на самом деле не вопрос программирования, у меня просто есть XML-файл, подобный этому:

<product>
    <id>123</id>
</product>
<product>
    <id>245</id>
</product>
<product>
    <id>356</id>
</product>

Я хочу найти все идентификаторы и заменить их только одним "0". Поскольку идентификаторы разные, я не могу использовать notepad ++, потому что он не может найти как <id>*</id>, так как я могу это сделать? Файл действительно длинный.

Ответы [ 3 ]

0 голосов
/ 28 июня 2018

Вы можете заменить содержимое тега даже в Notepad ++ поиском и заменой на основе Regex:

Поиск:

<id>[^<>]+</id>

и замените его на:

<id>0</id>

Это должно быть окно поиска и замены (не забудьте включить «Регулярное выражение»):

enter image description here

XML перед заменой:

enter image description here

XML после замены:

enter image description here

0 голосов
/ 28 июня 2018

Примечание: ответ по заданной XML-структуре.

Используйте регулярное выражение Notepad ++ и замените \ d + на 0.

enter image description here

0 голосов
/ 28 июня 2018

Используйте XML-осведомленный инструмент для обработки XML. Например, в xsh вы можете просто написать

open file.xml ;
for //product/id set text() 0 ;
save :b ;
...