如何利用正则表达式替换字符解决这个问题
小弟现在要对一段文档中的文本比如:dfsfd<img src="sdfdsf.jpg" alt=dfd></img>dfsdfdsfdsf<img src="adf.jpg" ></img>让它在页面显示的时候,能够控制图片的宽度,所以我就要将<img src="adf.jpg" ></img>
变为<img src="adf.jpg" width=50></img>
并且将中间所有的图片都类似处理。
我估计得用正则表达式解决,各位有谁知道的说下。
谢谢。
--------------------编程问答-------------------- 替换下 --------------------编程问答-------------------- try
string yourStr = ..............;
string result = Regex.Replace(yourStr, @"(<img[^>]*)>", "$1 width=50>", RegexOptions.IgnoreCase);
--------------------编程问答-------------------- 所有的img标签都做处理吗,还是需要判断一下里面是否含有width属性
下面是只替换原来不含width属性的img标签
string yourStr = .............;
string result = Regex.Replace(yourStr, @"(<(?![^>]*width)img[^>]*)>", "$1 width=50>", RegexOptions.IgnoreCase);
--------------------编程问答-------------------- 哦,谢谢了
只替换原来不含width属性的img标签
--------------------编程问答-------------------- 不太好处理
上边两个的代码还不如直接str.replace("<img", "<img width=\"300\" height=\"200\"");了 --------------------编程问答-------------------- 是啊,就是只替换不含width的。所以正则处理不了
即使能处理也非常复杂 --------------------编程问答-------------------- 写个程序一步一步替换吧
欢迎访问我的视频搜索引擎:
http://www.vzhangmen.com --------------------编程问答-------------------- 要是我里面原来含有width 和height 了,那该怎么处理呢? --------------------编程问答-------------------- 我能不能把遍历字符串,把所有"<img *******></img>"这个字符串提取出来分析分析,判断里面是否有width和height属性,如果有则改变里面的值,如果没有则添加。
好象可以用正则表达式里的match
拜托有人写过的,教教我! --------------------编程问答-------------------- string str="asdf<img src='asf'></img>asfd<img></img>";
string[] ss=s.Split('>');
string re="";
foreach(string s in ss)
{
if(s.IndexOf("width=")==-1)
{
s=s.Replace("<img","<img width=50");
}
re += s;
} --------------------编程问答-------------------- 高,实在是高! --------------------编程问答-------------------- boring... --------------------编程问答-------------------- 不是已经给你写了吗,试验了没有,如果还有height属性,再加上
string yourStr = .............;
string result = Regex.Replace(yourStr, @"(<(?![^>]*width)img[^>]*)>", "$1 width=50>", RegexOptions.IgnoreCase);
result = Regex.Replace(result, @"(<(?![^>]*height)img[^>]*)>", "$1 height=50>", RegexOptions.IgnoreCase);
--------------------编程问答-------------------- 我用VC.NET写过一个正则表达式的替换工具,可以编辑替换任意复杂的正则表达式,哪天给你发来 --------------------编程问答-------------------- string str = "fsfjskf#dkf经的开发3fjskfjs#fjskfjd#fsjfksj#fjsfksfk#sfjskfjs";
str = Regex.Replace(str, @"#(.*?)#", "嘿嘿嘿嘿嘿#$1#嘿嘿嘿嘿嘿", RegexOptions.IgnoreCase);
Response.Write("<script>alert('" + str+ "');</script>");
补充:.NET技术 , ASP.NET