C# 有条件地替换字符串的部分

C# 有条件地替换字符串的部分,c#,regex,C#,Regex,我有一个关于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> 我可以删除其中的部分,但不确定如何删除之间的所有内容 我

我有一个关于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>
我可以删除其中的
部分,但不确定如何删除
之间的所有内容

我该怎么做呢

提前谢谢

这里找到了一个很好的答案:字符串中的标记

也行

请随意发布任何更好、更有效的方法。

在这里找到了一个很好的答案:来自字符串的标记

也行


请随意发布任何更好、更有效的方法。

Regex
可能是最好的选择,但是如果您不想使用
Regex
,那么按照您想要的方式解析字符串将非常麻烦

一种方法是通过
拆分字符串,然后抓住
的第三方的所有字符

var result=新字符串(input.Split(新字符串[]{”“},StringSplitOptions.RemoveEmptyEntries)
.SelectMany(s=>s.Where((c,i)=>i

因此,如果使用
Regex
比使用字符串选项容易得多,我会坚持使用
Regex

Regex
可能是最好的选择,但是如果您不想使用
Regex
的话,那么按照您想要的方式解析字符串会非常麻烦

一种方法是通过
拆分字符串,然后抓住
的第三方的所有字符

var result=新字符串(input.Split(新字符串[]{”“},StringSplitOptions.RemoveEmptyEntries)
.SelectMany(s=>s.Where((c,i)=>i
所以我会坚持使用
Regex
,如果它对您有用的话,因为它比使用字符串选项容易得多
"Today I ate a  chocolate at the supermarket. It was a brand of Contoso.
 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());