我的字符串如下:
Student 12:00AMLeoPan Final points
<!--<div class='icon displayOn' ><span onclick=';' title=''></span></div>-->0.5
2.00<!--<div class='icon'><spanonclick='' title=''></span></div>-->
我想将字符串StartWith <!--<div
替换为</div>-->
,将字符串 
替换为""
值。
我尝试使用我的代码:
string finalResult = Regex.Replace(abc, "<!--<div" + ".*</div>--> ", "")
.Replace("<!--<div" + ".*</div>-->", "")
.Replace(" ", "");`
但Regex.Replace
无法取代。
如何删除此字符串?感谢。
更新1:
谢谢,@ Mark。
我试过:.Replace("<!--<div" + ".*</div>-->", "")
。
它删除所有:
<!--<div class='icon displayOn' ><span onclick=';' title=''></span></div>-->0.5
2.00<!--<div class='icon'><spanonclick='' title=''></span></div>-->
。
仅限结果:Student 12:00AMLeoPan Final points
。
您可以看到我有两个开头:<!--<div
并以</div>-->
结束。
但它取代了所有。并希望最终结果显示如下:
Student 12:00AMLeoPan Final points 0.5 2.00
答案 0 :(得分:6)
Regex.Replace
会返回string
,因此您的第2和第3 Replace
次来电实际上正在调用String.Replace
,这不支持正则表达式。不要串联呼叫 - 每次都明确地调用Regex.Replace,例如
string r1 = Regex.Replace(abc, "<!--<div.*?</div>--> ", "");
string r2 = Regex.Replace(r1, "<!--<div.*?</div>-->", "");
string finalResult = Regex.Replace(r2, " ", "");
更新:正如@WhoIsRich在对该问题的评论中提到的那样,正则表达式被修改为非贪婪。