C# 有条件地替换字符串的部分
我有一个关于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> 我可以删除其中的部分,但不确定如何删除之间的所有内容 我
"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
比使用字符串选项容易得多,我会坚持使用RegexRegex
可能是最好的选择,但是如果您不想使用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());