2017-01-14 7 views
0

У меня есть длинные списки данных о местоположении, которые находятся в формате XML.TextWrangler FInd/Заменить на

<location><city>London</city><name>Zoo</name><latitude>...</location> 

К сожалению, XML поврежден, и я должен заменить/исправить много недействительных близких XML тегов появлений. Пример, здесь </name> должен быть заменен </city>:

<location><city>London</name><latitude>...</location> 

Использование TextWrangler Найти + Заменить можно найти: <city>[A-Za-z]*</name> Это заявление ищет и находит все неверные строки. Все идет нормально.

Теперь я хочу их автоматически заменить (заменить все). Обычно в регулярных выражениях это делается путем определения: <city>%1</city>, но это не работает. Он перезаписывает найденный текст, не интерпретируя результат поиска, и не вставляя значение в тег %1.

ответ

0

Вы должны захватить в промежутке между персонажами с помощью захвата группы, так что вы можете ссылаться на захваченные символы в сменной части, указав его номер индекса, как %1 или \1 или $1

<city>([A-Za-z]*)</name> 
+0

отлично работает с Параметры \ 1. Группировка сделала трюк! Благодарю. (Примечание:% 1 и $ 1, похоже, не работают) – Vincent