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

 更新时间:2008年12月10日 13:08:45   作者:  
由于最近在业务上的需要,利用.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#文件写入。
完毕。

相关文章

  • asp.net 页面传值的几个方法

    asp.net 页面传值的几个方法

    在网页应用程序的开发中,页面之间的传值应该是最常见的问题了。
    2009-11-11
  • jQuery实现金额录入框

    jQuery实现金额录入框

    前端开发过程中,通常会用到数值录入框,比如要求输入金额,禁止录入非数值字符,也禁止粘贴非数值字符,本文主要对其实现方法进行介绍,需要的朋友一起来看下吧
    2016-12-12
  • asp.net 数据库连接类代码(SQL)

    asp.net 数据库连接类代码(SQL)

    asp.net数据库连接类(SQL) 代码,需要的朋友可以参考下。
    2010-03-03
  • asp.net6 blazor 文件上传功能

    asp.net6 blazor 文件上传功能

    这篇文章主要介绍了asp.net6 blazor 文件上传,我们今天的所有内容,都要依赖这个接口,因为它可以把流直接传到c#中,这样我们就可以做很多的骚操作了,需要的朋友可以参考下
    2022-05-05
  • WPF使用VisualTreeHelper进行命中测试

    WPF使用VisualTreeHelper进行命中测试

    这篇文章介绍了WPF使用VisualTreeHelper进行命中测试的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • asp.net 事件与委托分析

    asp.net 事件与委托分析

    delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个签名(signature),并且它只能持有与它的签名相匹配的方法的引用。
    2009-02-02
  • .NET开发实现一个微信跳一跳的辅助程序

    .NET开发实现一个微信跳一跳的辅助程序

    最近比较火的小游戏就是微信跳一跳了,下面这篇文章主要给大家介绍了关于如何利用.NET开发实现一个微信跳一跳辅助程序的相关资料,利用此辅助可以轻松的实现高分,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • asp.net updatepanel 导致JS不能加载,而无法使用的解决方法

    asp.net updatepanel 导致JS不能加载,而无法使用的解决方法

    asp.net updatepanel 局部刷新,导致JS不能加载,而无法使用,而且 updatepanel会刷两次,郁闷的,解决方法如下
    2013-08-08
  • .NET微信小程序用户数据的签名验证和解密代码

    .NET微信小程序用户数据的签名验证和解密代码

    这篇文章主要介绍了.NET微信小程序用户数据的签名验证和解密代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 上传图片前判断文件格式与大小验证文件是不是图片

    上传图片前判断文件格式与大小验证文件是不是图片

    既然上传的是图片,那么就应该在上传之前对文件进行一下验证,看看要上传的是不是图片文件
    2014-03-03

最新评论