我是C#的新手。我正在尝试删除包含图像标记的特定span标记。但我不想删除图片标签。如果有人给出建议或解决方案,我感谢你。谢谢。
string content =“span 1 span 2”;
答案 0 :(得分:-1)
您可以检查字符串值是否包含特定值(在您的案例范围内),然后操纵字符串以删除您想要的内容:
第一:获取字符串中开始范围标记的索引
if (yourString.ToUpper().Contains("SPAN")) // You also can check '<SPAN'
{
var openIndex = yourString.ToUpper().IndexOf("SPAN", StringComparison.Ordinal);
}
第二:获取结束范围标记的索引
var closeIndex = yourString.ToUpper().IndexOf("</SPAN>", StringComparison.Ordinal);
3rd :操纵你的字符串,现在你知道span标记的开始和结束位置,这样你就可以使用这些索引对原始字符串进行子字符串
var manipString = yourString.Substring(openIndex, closeIndex + 7) // +7 for '</SPAN>' lenght
第4次:找到&#39;&gt;&#39;关闭开口范围标签
var closeTagIndex = manipString.IndexOf(">", StringComparison.Ordinal);
5th :删除span标记
var finalString = manipString.Substring(0, closeTagIndex);
var arr = finalString.ToCharArray();
Array.Reverse(arr);
var reverseFinalString = new string(arr);
reverseFinalString = reverseFinalString.Substring(0, 7)
arr = reverseFinalString.ToCharArray();
Array.Reverse(arr);
finalString = new string(arr);
string.ToUpper().Contains("<IMG")
ReverseString()
方法来避免重复,代码将更具可读性和可维护性希望这有帮助!