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

本文关键字:字符串 替换 有条件 | 更新日期: 2023-09-27 18:01:59

我有一个关于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>之间的一切和任何东西

我该怎么做呢?

提前感谢!

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

在这里找到了一个很好的答案:需要正则表达式来删除Name字符串

中的标签

工作!

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,如果它对你有用,因为它比使用字符串选项容易得多