日期:2014-05-18  浏览次数:20508 次

正则替换问题,测试通过就给分.........
江西抚州致12人死亡酒吧火灾原因初步查明
<p>   新华网南昌9月27日电(记者胡锦武)   为营造气氛,竟在酒吧内燃放烟花,最终酿成 <
a   class=akey   href= "http://news.sina.com.cn/c/2007-09-26/125513977215.shtml "   targ
et=_blank> 12人死亡、6人受伤的特大火灾 </a> 。25日晚发生在江西省抚州市一家酒吧内的
特大火灾原因现已初步查明。 </p>
<p>   据当地消防部门有关人士介绍,发生火灾的“本色精英会所”迪厅酒吧,营业面积
不到300平方米,分为大厅和多个包厢。火灾发生时,酒吧内共有200多人。25日22时20分,
酒吧老板为庆祝中秋竟允许员工在大厅内燃放烟花,因酒吧屋顶的装饰棉布被引燃导致火灾
。 </p>
<p>   火灾发生后,在大厅内消费的人员被及时疏散,但包厢内的部分人员未能幸免。 </p
>
<p>   6名受伤人员现已脱离生命危险,并在 <span   class=yqlink> <form   class=yqin   acti
on=http://www.iask.com/n   method=post> <input   type=hidden   name=k   value=%D2%BD%D4%B
A> </form> <a   href=http://www.iask.com/n?k=%D2%BD%D4%BA   target=_blank   onClick= "act
ivateYQinl(this);return   false; "   class=akey   title=医院> 医院 </a> </span> 继续接受治
疗。公安部派出的有关人员已抵达抚州,对事故原因、责任等进一步调查。目前,抚州市的
网吧、迪厅等娱乐场所已经全部停业进行整顿。   </p>


如何把以上文字的
<
a   class=akey   href= "http://news.sina.com.cn/c/2007-09-26/125513977215.shtml "   targ
et=_blank> 12人死亡、6人受伤的特大火灾 </a> 。

替换为     12人死亡、6人受伤的特大火灾  




<span   class=yqlink> <form   class=yqin   acti
on=http://www.iask.com/n   method=post> <input   type=hidden   name=k   value=%D2%BD%D4%B
A> </form> <a   href=http://www.iask.com/n?k=%D2%BD%D4%BA   target=_blank   onClick= "act
ivateYQinl(this);return   false; "   class=akey   title=医院> 医院 </a> </span>

替换为

医院

其他文字不变

测试通过就给分....................



------解决方案--------------------
string str = Regex.Replace(srcStr, @ " <\s*(span|a)[^> ]*> [\s\S]*? </\1> ", myEvaluator, RegexOptions.IgnoreCase);


private string myEvaluator(Match m)
{
return Regex.Replace(m.Value, " <[^> ]*> ", " ");
}

------解决方案--------------------
string str = "江西抚州致12人死亡酒吧火灾原因初步查明 <p>   新华网南昌9月27日电(记者胡锦武) 为营造气氛,竟在酒吧内燃放烟花,最终酿成 <a class=akey href=\ "http://news.sina.com.cn/c/2007-09-26/125513977215.shtml\ " target=_blank> 12人死亡、6人受伤的特大火灾 </a> 。25日晚发生在江西省抚州市一家酒吧内的特大火灾原因现已初步查明。 </p> <p>   据当地消防部门有关人士介绍,发生火灾的“本色精英会所”迪厅酒吧,营业面积不到300平方米,分为大厅和多个包厢。火灾发生时,酒吧内共有200多人。25日22时20分,酒吧老板为庆祝中秋竟允许员工在大厅内燃放烟花,因酒吧屋顶的装饰棉布被引燃导致火灾。 </p> <p>   火灾发生后,在大厅内消费的人员被及时疏散,但包厢内的部分人员未能幸免。 </p> <p>   6名受伤人员现已脱离生命危险,并在 <span class=yqlink> <form class=yqin action=http://www.iask.com/n method=post> <input type=hidden name=k value=%D2%BD%D4%BA> </form> <a href=http://www.iask.com/n?k=%D2%BD%D4%BA target=_blank onClick=\ "activateYQinl(this);return false;\ " class=akey title=医院> 医院 </a> </span> 继续接受治疗。公安部派出的有关人员已抵达抚州,对事故原因、责任等进一步调查。目前,抚州市的网吧、迪厅等娱乐场所已经全部停业进行整顿。 </p> ";

string pattern = @ " <a[^> ]*?> ([\s\S]*?) </a> | <span[^> ]*?> ([\s\S]*?) </span> ";
Response.Write(System.Text.RegularExpressions.Regex.Replace(str, pattern, "$1 ", System.Text.RegularExpressions.RegexOptions.IgnoreCase));