Если строка содержится в другой строке
Привет,
У меня есть метод, который анализирует HTML-файлы и заменяет идентификаторы и классы новыми значениями.
Например:
<div class="container padded" id="main_container">Test</div>
Становится
<div class="_0 _1" id="_2">Test</div>
Для этого я использую регулярное выражение для извлечения всех классов и идентификаторов, удаления дубликатов, размещения каждого уникального класса и идентификатора в словаре в паре с новым значением, а затем повторяю его и заменяю все экземпляры в файле новыми значениями.
Однако я хочу заменить экземпляры только в том случае, если они находятся внутри class="" или id="", а не где-либо еще.
Я бы не хотел, чтобы это случилось.:
<div class="container padded" id="main_container">Test container</div>
становится
<div class="_0 _1" id="main__0">Test _0</div>
Обновление: теперь использую это, но все равно получаю неверный результат.
Dim html As String = "<div class=""container padded"" id=""main_container"">This is a container</div>" Dim toReplace As String = "container" Dim replaceWith As String = "_0" Dim reg As String = "((?:class="")|(?:id=""))(?<Content>" + toReplace + ".*?)(?:"")" content = Regex.Replace(html, reg, replaceWith)
Производит:
<div _0 id="main_container">This is a container</div>
Должен производить:
<div class="_0 padded" id="main_container">This is a container</div>
Что я уже пробовал:
Регулярное выражение, строка.заменить
---------------------------------