Удалить строку в строку

113
13

У меня проблема с поиском и удалением строки в строке. По мере того, как вы смотрите на изображении, я хочу удалить строку между балластом и использовать мой код. Но он хочет удалить так, где моя проблема?

string chaine = im;
int href = chaine.IndexOf("<a href");
int ahref = chaine.IndexOf("</a>");
string sup = "";
for (int c = href; c < ahref; c++)
{
sup = sup + chaine[c];
if (chaine[c] != ahref)
break;
}
chaine = chaine.Replace(sup, "");
im = chaine;

my screen shoot

спросил(а) 2021-01-28T00:06:04+03:00 4 недели, 1 день назад
1
Решение
74

Ваш код можно упростить. Пожалуйста, добавьте некоторые проверки ошибок или, по крайней мере, try/catch, если подстроки не найдены.

int start = im.IndexOf("<a href");
int stop = im.IndexOf("</a>", start);
im = im.Remove(start, stop + 4 - start) // 4 is the length of the stop string

ответил(а) 2021-01-28T00:06:04+03:00 4 недели, 1 день назад
61

Почему бы вам не попробовать заменить регулярное выражение.


chaine = Regex.replace(chaine, @"\<a(?<attrs>.*)\>.*\<a/\>", m => "<a" + m.Groups["attrs"] + "></a>")

ответил(а) 2021-01-28T00:06:04+03:00 4 недели, 1 день назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема