问题描述
我想把<tableid="biz0_id0"border="0"cellpadding="0"cellspacing="0"width="100%"style="border-bottom:gray1pxdashed">替换为<tableid="biz0_id0"border="0"cellpadding="0"cellspacing="0"width="100%">也就是把style这段去掉,不过我这里用的是循环替换.for(intl=0;l<6;l++){for(intll=0;ll<6;ll++){try{str=str.Replace("$biz"+l+"_id"+ll+"$",biz_table[l].Rows[ll]["id"].ToString());str=str.Replace("$biz"+l+"_name"+ll+"$",biz_table[l].Rows[ll]["name_all"].ToString());str=str.Replace("$mostnewbiz"+l+"_id"+ll+"$",mostnew_biz_table[l].Rows[ll]["id"].ToString());str=str.Replace("$mostnewbiz"+l+"_name"+ll+"$",mostnew_biz_table[l].Rows[ll]["name_all"].ToString());}catch{str=str.Replace("$biz"+l+"_name"+ll+"$","");str=str.Replace("$mostnewbiz"+l+"_name"+ll+"$","");stringreplace1="id="biz"+l+"_id"+ll+""border="0"cellpadding="0"cellspacing="0"width="100%"style="border-bottom:gray1pxdashed"";stringreplace2=replace1.Replace("style="border-bottom:gray1pxdashed"","");str=str.Replace(replace1,replace2);continue;}}}这里的str为整个页面的html代码现在的问题是这样写好象没有效果.输出测试的时候程序把这里的l当作字符串"l",并没有用循环变量替换掉,希望高手能够帮忙我去解决这个问题
解决方案
解决方案二:
stringstr=@"<tableid=""biz0_id0""border=""0""cellpadding=""0""cellspacing=""0""width=""100%""style=""border-bottom:gray1pxdashed"">";str=System.Text.RegularExpressions.Regex.Replace(str,@"style=""[^""]*?""","");Response.Write(Server.HtmlEncode(str));
解决方案三:
高手啊~~!!!
解决方案四:
@"<tableid=""biz"+l+"_id"+ll+"""border=""0""cellpadding=""0""cellspacing=""0""width=""100%""style=""border-bottom:gray1pxdashed"">"这样报错了我这个加l的应该怎样写啊,多谢
解决方案五:
每一个string前面加@如:@"<tableid=""biz"+l+@"_id"+ll+@""......
解决方案六:
不好意思,我搞错了,我现在想的是替换为<tableid="biz0_id0"border="0"cellpadding="0"cellspacing="0"width="100%"style="display:none">请问这个应该怎样写
解决方案七:
System.Text.RegularExpressions.Regex.Replace(str,@"style=""[^""]*?""","");---------------有人出手了,还没解决吗??看着这么多引号比较迷Replace(str,"style="[^"]*?"","");嗯这样就顺眼多了
解决方案八:
那就改成这样Replace(str,"(?<=style=")[^"]*?(?=")","display:none");
解决方案:
写个JS一处biz0_id0的style属性就OK了!万一你要替换的多个空格你就白替换了
解决方案:
写个JS一处biz0_id0的style属性就OK了!万一你要替换的多个空格你就白替换了
解决方案:
str=Regex.Replace(str,"style=".+?"","");即可
解决方案:
引用10楼sq_zhuyi的回复:
str=Regex.Replace(str,"style=".+?"","");即可
正则也讲究性能嘀。。。。。。。。。。。。。。。。