首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

字符轮换

2013-07-20 
字符替换有一段字符串:p center styletext-align: centerimg src/upimage/rxd034 (1).jpg /

字符替换
有一段字符串:
<p center="" style="text-align: center"><img src="/upimage/rxd034 (1).jpg" /></p><p center="" style="text-align: center"><img  src="/upimage/rxd034 (2).jpg" /></p><p center="" style="text-align: center"><img  src="/upimage/rxd034 (3).jpg" /></p>


现在需要把字符里面的 rxd034 (1).jpg  , rxd034 (2).jpg  , rxd034 (3).jpg

中间的空格替换成 “%” 变成 rxd034%(1).jpg  rxd034%(2).jpg  rxd034%(3).jpg

用正则吗?怎么写,谢谢了。
[解决办法]
string html = "...";
string[] found = Regex.Matches(html, @"\/upimage\/\w+\s\(\d+\).jpg").Cast<Match>().Select(x => x.Value).ToArray();
foreach (var item in found)
{
    html = html.Replace(item, item.Replace(" ", "%"));
}
[解决办法]
(?<=<img\b[^>]*?src="/upimage/\w+)\s*(?=\(\d+\)\.jpg)



string yourhtml = "...";
yourhtml  = Regex.Replace(yourhtml, @"(?<=<img\b[^>]*?src="\/upimage\/\w+)\s*(?=\(\d+\)\.jpg)","%");

[解决办法]

string str = "<p center="" style="text-align: center"><img src="/upimage/rxd034 (1).jpg" /></p><p center="" style="text-align: center"><img  src="/upimage/rxd034 (2).jpg" /></p><p center="" style="text-align: center"><img src="/upimage/rxd034 (3).jpg" /></p>";
Console.WriteLine(Regex.Replace(str,"(<img[\\s]*src="/upimage/[^>]+)([ ]+)([^>]+" />)","$1%$3"));

[解决办法]
把整个这个当做一个字符串,然后用正则控制前后数据中的中坚空格,感觉正则控制起来比较稳定吧

热点排行