播客 > 玩代码  >  .NET读取所有目录下文件正则匹配文本  | 登录  | RSS订阅地址  | Code平台

.NET读取所有目录下文件正则匹配文本

   由于最近在业务上的需要,利用.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#文件写入

 完毕。
天气:大雨,ccdot发表于2008-7-30 8:41:25,阅读了476次,共有个0回复.

暂无评论

  1. 想要转载我文章的人滚远远的,能想多远,就滚多远。
  2. 不要提交任何带有网址URL信息的评论.
  3. 需要更多信息?请使用站内搜索,郁闷了?听听我在听什么吧!
用户名:*验证:看不清楚请点击刷新验证码*
内容: