Ищет в тексте все слова с чётным количеством букв и возвращает строку, в которой они удалены - C#
Формулировка задачи:
Необходимо сделать через регулярные выражения
Мой код:
Проблема моего кода: он просто пропускает слова с четными количеством букв, и при это пропускаются знаки препинания, а необходимо именно удалить эти слова.
*Regex r = new Regex(@"\w+");
string newtext = "";
Match teg = r.Match(text);
while (teg.Success)
{
if (teg.Length % 2 != 0) { newtext += teg + " "; }
teg = teg.NextMatch();
}
return newtext;*/Решение задачи: «Ищет в тексте все слова с чётным количеством букв и возвращает строку, в которой они удалены»
textual
Листинг программы
Regex r = new Regex(@"\w+");
MatchCollection mc = r.Matches(text);
StringBuilder sb = new StringBuilder(text);
for (int i = mc.Count-1; i >= 0; i--)
{
if (mc[i].Length % 2 == 0)
sb.Remove(mc[i].Index, mc[i].Length);
}
return = sb.ToString();