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

.net怎么删除名称部分相同的所有图片

2012-10-18 
.net如何删除名称部分相同的所有图片如:图片A的名称是: 12345-100.jpg图片B的名称是: 12345-200.jpg现在我

.net如何删除名称部分相同的所有图片
如:
图片A的名称是: 12345-100.jpg
图片B的名称是: 12345-200.jpg

现在我知道的字符是12345,怎么像正则表达那样把图片A和B匹配出来,然后删除。

注:后面的100和200可能是其它的,不能是直接12345然后加上后面的,要的是所有含有12345的图片的集合,谢谢各位了!

[解决办法]

C# code
  string html = @"图片A的名称是: 12345-100.jpg图片B的名称是: 12345-200.jpg            ";            foreach (Match m in Regex.Matches(html, @"12345\-\d+?\.(jpg|gif|png)", RegexOptions.IgnoreCase))            {                Response.Write(m.Value);            }//取出来            //删除用下面的            html= Regex.Replace(html, @"12345\-\d+?\.(jpg|gif|png)","", RegexOptions.IgnoreCase);            Response.Write(html);
[解决办法]
C# code
string pre_str="12345";//定义查找字符串                string split_str="-";//定义之间的分隔符                string str_Extension=".jpg";//定义图片后缀                string pattern_img=@"(?i)"+pre_str+split_str+@"[^.]*?"+str_Extension.Replace(".",@"\.");//定义匹配正则                string path = @"c:\\";//定义路径                DirectoryInfo dir = new DirectoryInfo(path);                //获取符合匹配的图片                List<FileInfo> list_image_file = dir.GetFiles().Where(a => a.Extension.Equals(str_Extension) && Regex.IsMatch(a.Name, pattern_img)).ToList() ;                foreach (FileInfo fi in list_image_file)                {                    File.Delete(fi.FullName);//开始删除                }
[解决办法]

if ("".StartsWith("12345") && "".EndsWith(".jpg"))
{
//删除
}
[解决办法]
方式很多,同意楼上的,使用正则去判断或者用字符串匹配方式,都可以
[解决办法]
{\d+}\-\d+?\.(jpg|gif|png)
用不用分组啊?

热点排行