我在搜索和删除字符串中的字符串时遇到问题。 当您查看图像时,我想删除应答器和使用我的代码之间的字符串。但它想要删除所以我的问题在哪里?
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;
答案 0 :(得分:2)
您的代码可以简化。请尽管添加了一些错误检查,或者至少是一个try / catch,以防找不到子字符串。
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
答案 1 :(得分:1)
为什么不尝试正则表达式替换。
chaine = Regex.replace(chaine, @"\<a(?<attrs>.*)\>.*\<a/\>", m => "<a" + m.Groups["attrs"] + "></a>")