|
由于最近在业务上的需要,利用.NET把一个文件夹下面的所有文件读取,然后从文件中正则匹配出所有的电子邮件,然后写入到一个新的文件夹,需求就这样,很简单。代码写作也不超过10min,发上来吧。哈哈
复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Text.RegularExpressions; namespace Test { class FiEmail { public static void Main(string[] args) { Console.WriteLine("请输入内容路径:"); string[] fs=Directory.GetFiles(args[0]); if(fs!=null){ string jobsPattern=@"([\w-]+(\.\w+)*@([\w-]+\.)+\w{2,3})"; Regex rx = new Regex(jobsPattern,RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Multiline ); foreach(string s in fs){ Console.WriteLine("匹配"); string asR=File.ReadAllText(s); MatchCollection matches = rx.Matches(asR); if(matches!=null && matches.Count>0) { string argsP=""; for(int loopI=0;loopI<matches.Count;loopI++){ argsP+=(matches[loopI].Groups[0].Value)+Environment.NewLine ; } W(argsP.Trim(new char[]{'\n'})); } Console.WriteLine(s); } } Console.ReadLine(); } public static void W(string ids){ string paths=System.IO.Path.Combine(@"C:\Documents and Settings\Administrator\桌面\GC\","edel.txt"); using (System.IO.StreamWriter sr = new System.IO.StreamWriter(paths,true)){ sr.WriteLine(ids); } } } } 然后csc编译,生成f.exe文件。然后就可以使用了。 里面牵扯到的技术要点: 1: C# 读取文件夹下所有文件 2:C# 利用正则获取文件中的邮址 3:C#文件写入。 完毕。 |
|