2013-03-03 5 views
1

У меня есть вопрос, связанный с манипулированием строками в C#.Условно заменить раздел строки

Скажем, у меня есть строка:

"Today I ate a <a href="link here "> chocolate </a> at the <a href=\"another link here"> supermarket</a>. It was a brand of <a href=\"3rd link">Contoso</a> 

Я хотел бы сделать это:

"Today I ate a chocolate at the supermarket. It was a brand of Contoso. 

можно удалить </a> часть, но я уверен в том, чтобы удалить все и ничего между <a href и >

Как я могу это сделать?

Заранее благодарен!

+1

Посмотрите [здесь] (http://stackoverflow.com/questions/787932/using-c-sharp-regular-expressions-to-remove-html-tags) – tttony

ответ

0

Regex, вероятно, лучший вариант. Но если вы не хотите использовать Regex, это будет довольно сложно разобрать строку так, как вы хотите.

Одна идея может быть Разделить строку, </a> затем захватить все символы на Этье стороне <a и >

var result = new string (input.Split(new string[] { "</a>" }, StringSplitOptions.RemoveEmptyEntries) 
    .SelectMany(s => s.Where((c, i) => i < s.IndexOf("<a") || i > s.IndexOf(">"))).ToArray()); 

Так что я бы придерживаться Regex, если его работы для вас, как его намного проще чем использование опций строки

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