Регулярное выражение для удаления содержимого в строке - PullRequest
1 голос
/ 04 января 2012

У меня есть строка, как показано ниже:

4s: and in this <em>new</em>, 5s: <em>year</em> everybody try to make our planet clean and polution free. 

Заменить строку:

4s: and in this <em>new</em>, <em>year</em> everybody try to make our planet clean and polution free. 

что мне нужно, если строка содержит два тега <em>, и если разрыв между этими двумя тегами <em> составляет всего одно слово, а также формат этого слова будет ns: (n - любое число значение от 0 до 4 символов.) тогда я хочу удалить ns: из этой строки. сохраняя знаки препинания ('?', '.', ',',) между двумя <em> как есть.

Также я хотел бы добавить к сведению. входная строка может иметь или не иметь знаки препинания между этими двумя <em> тегами.

Мое регулярное выражение, как показано ниже

Regex.Replace(txtHighlight, @"</em>.(\s*)(\d*)s:(\s*).<em", "</em> <em");

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

Ответы [ 2 ]

2 голосов
/ 05 января 2012

Не совсем уверен, что вам нужно, но как насчет:

Regex.Replace(txtHighlight, @"</em>(.)\s*\d+s:\s*(.)<em", "</em>$1$2<em");
0 голосов
/ 05 января 2012

Если вы просто хотите извлечь бит 4s 5s, вы можете сделать что-то вроде этого:

Regex.Replace(txtHighlight, @"\s\d\:", ""); 

Это будет соответствовать пробелу, за которым следуют цифра и двоеточие.

Если это не то, что вы ищете, мои извинения. Я надеюсь, что это может помочь:)

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