Расширенная замена Visual Studio RegEx - PullRequest
1 голос
/ 03 ноября 2011

У меня есть несколько разделов с идентификаторами.

<section id="01"></section>
<section id="02"></section>
<section id="03"></section>

То, что я хотел бы сделать, это сопоставить и заменить все эти идентификаторы на себя + 1, т.е. 1 становится 2, 2 становится 3 и т. Д.

Я дошел до:

find:
id="{[0-9][0-9]}"
--
replace:
\0

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Не используйте RegEx.

Загрузите его с помощью XmlDocument и используйте XPath. Что-то вроде:

Dim tDoc as XmlDocument = New XmlDocument(xmlfilename)
For Each tNode As XmlNode In tDoc.SelectNodes("//sections/section")
  tNode.Attributes("id").Value = String.Format("{0:D2}", Int16.Parse(tNode.Attributes("id").Value) + 1)
Next

tDoc.Save(path)
0 голосов
/ 03 ноября 2011

Просто добавьте последнюю и удалите первую запись.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...