我有这样的字符串:
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>-->
Run Code Online (Sandbox Code Playgroud)
我想将字符串StartWith替换<!--<div为end </div>-->,将字符串替换 为""值.
我尝试使用我的代码:
string finalResult = Regex.Replace(abc, "<!--<div" + ".*</div>--> ", "")
.Replace("<!--<div" + ".*</div>-->", "")
.Replace(" ", "");`
Run Code Online (Sandbox Code Playgroud)
但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
Regex.Replace返回a string,所以你的第二次和第三次Replace调用实际上是调用String.Replace,这不支持正则表达式.不要链接调用 - 每次都显式调用Regex.Replace,例如
string r1 = Regex.Replace(abc, "<!--<div.*?</div>--> ", "");
string r2 = Regex.Replace(r1, "<!--<div.*?</div>-->", "");
string finalResult = Regex.Replace(r2, " ", "");
Run Code Online (Sandbox Code Playgroud)
更新:正如@WhoIsRich在对该问题的评论中提到的那样,正则表达式被修改为非贪婪的.