0

我在字符串中搜索和删除字符串时遇到问题。当您查看图像时,我想删除应答器之间的字符串并使用我的代码。但它想删除所以我的问题在哪里?

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;

我的屏幕截图

4

2 回答 2

2

您的代码可以简化。请尽管添加一些错误检查或至少尝试/捕获以防找不到子字符串。

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
于 2013-02-21T17:53:53.123 回答
1

你为什么不尝试正则表达式替换。

chaine = Regex.replace(chaine, @"\<a(?<attrs>.*)\>.*\<a/\>", m => "<a" + m.Groups["attrs"] + "></a>")
于 2013-02-21T17:43:56.863 回答