2013-05-23 2 views
7

У меня есть (очень) большой XML-файл для моей дорожки gps. Он построен так:Удалить указанные теги в XML (notepad ++)

<trkpt lat="45.4818095" lon="3.76271898"> 
     <time>2010-08-29T17:20:52Z</time> 
    </trkpt> 
    <trkpt lat="45.48068593" lon="3.762722181"> 
     <time>2010-08-29T17:21:37Z</time> 
    </trkpt> 
    <trkpt lat="45.47923258" lon="3.762515148"> 
     <time>2010-08-29T17:22:35Z</time> 
    </trkpt> 

Я хочу поделиться своим GPS трек, но вся информация между <time> и </time> бесполезно. Есть ли способ удалить эти теги в блокноте ++?

+0

Поиск ' (\ г \ п)' и заменить пустым. – Noel

ответ

5

Вы всегда можете сделать поиск и замену:

найти <time>[0-9A-Z:-]*</time> и заменить пустыми (убедитесь, что регулярные выражения проверяется)


EDIT:

Краткое разъяснение, это заменяет все в текстовом файле, начинающемся с <time>, и имеет любое количество буквенно-цифровых символов, двоеточие (:) или дефисы, за которыми следует </time>. Если вы хотите удалить пробелы перед тегом, вы можете использовать вместо этого:

найти [\t ]*<time>[0-9A-Z:-]*</time> заменить на пустой.

Если вы хотите, чтобы удалить пустые строки, оставшиеся делая это, вы можете использовать плагин TextFX в комплекте с большинством версий Notepad ++:

TextFX -> TextFX Edit -> Удалить Пустые строки

Или просто переключитесь на расширенный поиск и поиск \n\r

+0

Спасибо, что работает для меня! Но если текст между содержит точку (.), Команда replace не удалась. –

+2

Если вы хотите просто очистить все теги ' ', вы можете делать то, что @Noel сказал, и сделать найти и заменить для '[\ t] * ', который избавится от всех тегов времени независимо от того, что внутри них. –

4

Подержанный <time>.*?</time>, и он отлично работал.

enter image description here

Смежные вопросы