【问题标题】:extract email adresses from text file从文本文件中提取电子邮件地址
【发布时间】:2014-03-23 02:05:44
【问题描述】:

我需要从包含带有一些名称的地址的文本文件中提取电子邮件地址,>< 标志包装电子邮件地址。

是否可以删除所有不包含 @ 符号的字符串,带有 sublime text、notepad++ 或其他? 这是我拥有的文本文件的示例(带有虚假电子邮件):

...  
Cedric Pardit <c.pardi@inconu.com>, emmanuel > <emmanuel.brounidd7@fixe.com>, Claire et Francois <contact@jamaka.com>, Dominique Braud-Poloul <dbpoloul@hik.com>, michel.ours@yahoo.com, 
...

更新:预期结果

 ...  
 c.pardi@inconu.com
 emmanuel.brounidd7@fixe.com
 contact@jamaka.com
 dbpoloul@hik.com
 michel.ours@yahoo.com, 
 ...

【问题讨论】:

  • 您的示例的预期结果是什么?
  • @M42 最后用我需要的东西更新了我的问题

标签: email text replace notepad++ sublimetext


【解决方案1】:

您可以使用正则表达式来获取&lt;&gt; 标签之间的电子邮件地址,如下所示:

(?<=\<)(.*)(?=\>+)

假设&lt;&gt; 中仅包含电子邮件地址。

更新

这将匹配文件中的所有电子邮件地址,无论位置如何:

([a-zA-Z0-9\.]+@[A-Za-z0-9_]+?\.[A-Za-z]{2,6})

替换为与电子邮件地址匹配的$&amp;\n 并添加换行符。

【讨论】:

  • 好吧,所有电子邮件都没有包含在这些标签中,&gt; 标志出现在奇怪的位置。我不知道这个文本文件是从哪里来的,但它非常混乱......对此感到抱歉
  • @chadocat - 您只对电子邮件地址感兴趣..?
  • 哦,那没那么难。更新了答案。
  • 对不起,我不熟悉正则表达式。我必须了解它有没有可以帮助我的在线工具?
  • @chadocat - 不客气,很高兴我能帮上忙。还有另一个在线工具here 有更多选项,您也可以在那里进行替换并选择您的输出类型。
【解决方案2】:

我会这样做:

<?(\S+@\S+)>?

这将匹配&lt;&gt; 中包含或未包含的所有地址。

【讨论】:

  • 当电子邮件和它们之间没有空格时,这也会输出&gt; 符号和逗号。
  • @web-tiki 这个选项非常完美,但是你可以打开 sublime 并搜索“”符号并删除它,然后使用 (\S+@\S+)> ?并将选择每封电子邮件的绝佳解决方案
【解决方案3】:

您可以从文件中提取所有电子邮件 ID

     BufferedReader bf = new BufferedReader(new 
     FileReader("C://Users//..........your file name"));
     String line="";
     Pattern pt = Pattern.compile("[A-Za-z0-9][A-Za-z0-9_.]*@[A-Za-z0-9]+
     ([.A-Za-z])+"); 

    while((line=bf.readLine()) != null){
    Matcher mt = pt.matcher(line);
    while(mt.find()){
        System.out.println(mt.group());
    }
    }

【讨论】:

    【解决方案4】:

    使用记事本++ 我将首先用换行符替换所有空格和逗号(扩展搜索模式,然后使用 \n)
    然后,您将在不同的行中拥有所有电子邮件地址。
    从那里您只需记录一个找到 @ 的宏并剪切该行,然后是一个新的文本文件,这可以通过打开 2 个文本文件并使用 Ctrl-Tab 在它们之间切换来完成

    并替换
    这可能不是最简单的方法,但我可能会这样做

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-12
      • 2015-12-28
      • 2016-01-14
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多