2012-01-12 3 views
1

У меня длинная HTML-страница как строка. На протяжении всего времени у меня есть теги изображений с текстом вот так:Найти и заменить Regex (C# .net)

cid:@(Model.MyImage) 

У меня есть строки, хранящие путь и расширение файла. Я хотел бы заменить выше, чтобы получить

[mypath]MyImage.[myExtension] 

Так что я хотел бы, чтобы захватить этот MyImage текст и использовать его в моей новой строке - то избавиться от всех чида: вещей и поставить стандартный путь в .

Итак, чид: @ (Model.MainChart) может стать C: \ MainChart.png

EDIT

Per ниже ответ, вопрос был дан ответ красиво. Пример использования ниже:

string first = @"<img src=""cid:@(Model.FirstOne)"" style=""max-width:600px;"" then <img src=""cid:@(Model.Another)"" style=""max-width:600px;"")"; 
      string pathPrefix = @"C:\"; 
      string extension = ".png"; 
      string newPath = Regex.Replace(first, @"cid:@\(Model\.([^)]*)\)", pathPrefix + "$1" + extension); 

ответ

3

Это мое предложение для вас. Regex является:

cid:@\(Model\.([^)]*)\) 

и замена строка должна содержать $1 для найденного изображения.

+0

Что вы имели в виду под ", а строка замены должна содержать $ 1 для найденного изображения". ? – Dimuthu

+0

Это работает как шарм, благодаря Fischermaen. Я опубликую обработанное решение в вопросе. – Glinkot

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