无法替换C#中的字符串上的文本

van*_*loc 0 c# string

我有这样的字符串:

          Student 12:00AMLeoPan        Final points        
<!--<div class='icon displayOn' ><span onclick=';' title=''></span></div>-->0.5
      &nbsp;         2.00<!--<div class='icon'><spanonclick='' title=''></span></div>-->    
Run Code Online (Sandbox Code Playgroud)

我想将字符串StartWith替换<!--<div为end </div>-->,将字符串替换&nbsp为""值.

我尝试使用我的代码:

string finalResult = Regex.Replace(abc, "<!--<div" + ".*</div>-->&nbsp;", "")
                          .Replace("<!--<div" + ".*</div>-->", "")
                          .Replace("&nbsp;", "");`
Run Code Online (Sandbox Code Playgroud)

但Regex.Replace无法取代.

如何删除此字符串?谢谢.

更新1:

谢谢,@ Mark.

我尝试过:.Replace("<!--<div" + ".*</div>-->", "").

并删除所有:

<!--<div class='icon displayOn' ><span onclick=';' title=''></span></div>-->0.5 &nbsp; 2.00<!--<div class='icon'><spanonclick='' title=''></span></div>-->.

仅结果:Student 12:00AMLeoPan Final points.

你可以看到我有两个开始:<!--<div并以:结束:</div>-->.

但它取代了所有.并希望最终结果显示如下:

Student 12:00AMLeoPan Final points 0.5 &nbsp; 2.00

Mar*_*ark 6

Regex.Replace返回a string,所以你的第二次和第三次Replace调用实际上是调用String.Replace,这不支持正则表达式.不要链接调用 - 每次都显式调用Regex.Replace,例如

string r1 = Regex.Replace(abc, "<!--<div.*?</div>-->&nbsp;", "");
string r2 = Regex.Replace(r1, "<!--<div.*?</div>-->", "");
string finalResult = Regex.Replace(r2, "&nbsp;", "");
Run Code Online (Sandbox Code Playgroud)

更新:正如@WhoIsRich在对该问题的评论中提到的那样,正则表达式被修改为非贪婪的.