........<img src="/WebSite7/fckeditor/userfiles/qzen1.jpg" />.........
...<img src="/WebSite7/fckeditor/userfiles/qzen2.jpg" />....
...<img src="/WebSite7/fckeditor/userfiles/qzen3.jpg" />....如上有一篇文章,有很多图片,如何把这篇文章的所有图片的地址换掉,但保留图片名,如下:........<img src=new+"qzen1.jpg" />.........
...<img src=new+"qzen2.jpg" />....
...<img src=new+"qzen3.jpg" />....
应该是通过正则来实现
string str=".....(文章)"
Regex reg = new Regex(".....");
str = reg.Replace(str, new);如何写这个正则表达式啊?
...<img src="/WebSite7/fckeditor/userfiles/qzen2.jpg" />....
...<img src="/WebSite7/fckeditor/userfiles/qzen3.jpg" />....如上有一篇文章,有很多图片,如何把这篇文章的所有图片的地址换掉,但保留图片名,如下:........<img src=new+"qzen1.jpg" />.........
...<img src=new+"qzen2.jpg" />....
...<img src=new+"qzen3.jpg" />....
应该是通过正则来实现
string str=".....(文章)"
Regex reg = new Regex(".....");
str = reg.Replace(str, new);如何写这个正则表达式啊?
...<img src=""/WebSite7/fckeditor/userfiles/qzen2.jpg"" />....
...<img src=""/WebSite7/fckeditor/userfiles/qzen3.jpg"" />....
";
str = Regex.Replace(str, @"(?<=<img src="")([^/""]*/)*", "newfilepath/");
Response.Write(str);
void Main()
{
string str=@"........<img src=""/WebSite7/fckeditor/userfiles/qzen1.jpg"" />.........
...<img src=""/WebSite7/fckeditor/userfiles/qzen2.jpg"" />....
...<img src=""/WebSite7/fckeditor/userfiles/qzen3.jpg"" />....";
str=Regex.Replace(str,@"(?is)<img[^>]*?src=(""[^""]+/)([^\.]+\.jpg)""[^>]*/>",delegate (Match m){return m.Value.Replace(m.Groups[1].Value,@"new+""");});
Console.WriteLine(str);
}/*
........<img src=new+"qzen1.jpg" />.........
...<img src=new+"qzen2.jpg" />....
...<img src=new+"qzen3.jpg" />....*/
直接替换好了。
string str=".....(文章)";
str = str.Replace("<img src=\"/WebSite7/fckeditor/userfiles/", "new+\"");
Regex reg = new Regex(@"(?<=<img src="")([^/""]*/)*");
str = reg.Replace(str, new);
........<img src=new+"qzen1.jpg" />.........如果这样的话:
string YourCode = "/*your code*/";
string YourNewPath
string RegexString = "(?<=src=)[^>]+(?=qzen)";
Regex delPath = new Regex(RegexString);
MatchCollection pathColleciton = delPath.Matches(YourCode);
for (int i = 0; i < pathColleciton.Count; i++)
{
YourCode.Replace(pathColleciton[i].ToString(),YourNewPath + "\"");
}这样的话,如果你的new是c:\的话,代码之后的源码变成了
<img src=c:\"qzen2.jpg" /img>我觉得你的意思是要得到:
<img src="c:\\qzen2.jpg" /img>
这样的话:string YourCode = "/*your code*/";
string YourNewPath
string RegexString = "(?<=src=”)[^>]+(?=qzen)";
Regex delPath = new Regex(RegexString);
MatchCollection pathColleciton = delPath.Matches(YourCode);
for (int i = 0; i < pathColleciton.Count; i++)
{
YourCode.Replace(pathColleciton[i].ToString(),YourNewPath);
}