2013-12-04 3 views
0

Я хотел бы искать и заменять в строке с помощью регулярного выражения. Я знаю, что это общеизвестно для многих из вас, но для меня это очень запутанно.Нужна помощь для построения регулярного выражения

Пример:

string beforeReplace = "Text sample &=xxx where some &=123 is missing"; 

string afterReplace = "Text sample &=xxx; where some &=123; is missing"; 

Струны "& = ххх" и "& = 123" следует заменить на "& = ххх;" и "& = 123;" путем поиска «& =», прыгайте 3 символа вправо и добавьте «;».

Любая помощь будет оценена по достоинству.

+0

Вы уверены, что вам нужно регулярное выражение? «Ищите & =, прыгайте 3 символа, добавьте;» звучит очень дружелюбно ... –

+0

Я так думаю, так как может быть более одного попадания на строку (это не простая замена). –

+0

Я бы использовал цикл while, когда вы не нашли совпадения, а затем просто выйдите из цикла, так как ответ Джона сделал это довольно простым с регулярным выражением. –

ответ

3

Это будет делать:

str = Regex.Replace(str, "&=.{3}", "$0;"); 

Это не сложно на самом деле - вы ищете &=.{3}, что означает «&= следуют любые три символа» и заменить $0;, что означает «то, что вы -ий с последующим ;» ,

Поскольку вы будете работать с регулярными выражениями, вы также должны посвятить некоторое время их пониманию. Скачать бесплатно good reference material бесплатно.

+0

Ницца - есть одна вещь, хотя - возможно ли обнаружить, что ";" уже тут же не добавляется другой «;» ?? –

+0

@ PeterLarsen'CPH ': Да, с выражением '' & =. {3} (?!;) ". Добавленная часть - отрицательный результат, поясненный в ссылке, которую я дал. – Jon

+0

Спасибо, я попробую И посмотрю ссылки ... –

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