Ahoy,Regex для анализа и замены img src в C# /. NET?
У меня проблема, см. У меня есть строки, как:
<img width="594" height="392" src="/sites/it_kb/SiteAssets/Pages/exploding%20the%20VDI%20vDesktop/VDI3.PNG" alt="" style="margin:5px;width:619px;height:232px" />
Они не последовательно отформатированный.
мне нужно разобрать строки, как это и возвращает следующее:
<img width="594" height="392" src="/exploding%20the%20VDI%20vDesktop-VDI3.PNG" alt="" style="margin:5px;width:619px;height:232px" />
Изменения:
- Удалить все, кроме непосредственного каталога, в котором лежал файл изображения.
- Вместо этого каталога, являющегося поддиректорией, добавьте его в имя файла.
Так что, если файл находится в настоящее время в /blabla/bla/blaaaaah/pickles/pickle.png
я хочу, чтобы IMG SRC атрибут сказать соленья-pickle.png
Теперь я я пытаюсь сделать это с помощью регулярного выражения, но через 3 часа я обнаружил что-то о себе ... Я ужасен в регулярном выражении. Я мог бы быть в этом несколько недель, и я никуда не денусь.
Таким образом, я прошу это замечательное сообщество для двух вещей:
- Как бы вы это сделали? Правильное ли регулярное выражение? Мне нужно иметь возможность анализировать любые атрибуты SRC внутри тегов IMG (независимо от того, имеют ли они высоту/ширину или другие атрибуты).
- Какие ресурсы вы бы рекомендовали мне изучить регулярное выражение с .NET?
Теперь для задачи под рукой, я полагаю, я мог бы сделать string.replace, где я ....
- Найти тег IMG, и получить индексы окружающих «<» и ' >»
- Найти индекс„SRC =“и„“(пробел) между этими двумя экземплярами
- Найти последний индекс„/“между СРК и космических индексов
- Найти второй по последнему показателю„/“ между индексами src и пробелом
- Замените ... er no, удалите ... все до второго до последнего экземпляра '/' ...
- ... String.Replace Остальные '/' с '-'.
- .... Я .. Думаю, что бы так?
Но DAMN, который является уродливым. Регулярное выражение было бы намного красивее, не так ли?
Любые советы?
Примечание: Я отметил это как «домашнее задание», но это не домашнее задание. Я волонтерскую для работы после работы, чтобы сохранить компанию, как 200k.Это буквально последний кусочек невероятно запутанной (для меня) головоломки. Конечно, я не вижу ни копейки этих 200 тыс., Но я выгляжу хорошо.
Вы можете разобрать HTML с использованием регулярных выражений, но это не лучшая практика. См. [Этот ответ] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454), почему вы должны это делать. –