2009-06-23 89 views
1

我收到了一个CSV文件,里面充满了联系信息,我试图将它加载到GMail联系人中,但电子邮件地址并非全部格式正确,所以GMail不会将其识别为电子邮件字段。我可以在Excel(Mac)中打开CSV文件,但我不知道在Excel中是否有模式匹配的方式。另外,某些字段可能包含逗号(例如地址字段),因此使用sed/awk可能会很困难。有什么方法可以快速找到哪些电子邮件地址格式不正确?在CSV文件中查找格式不正确的电子邮件地址

+0

你能否详细说明'格式不正确'。事实上,很少擦洗线会有所帮助。 – nik 2009-06-23 14:41:39

+0

那么,其中一些后来有括号中的注释,偶尔一个写成“username [at] site dot com”或类似 – benwad 2009-06-23 14:53:54

回答

1

转储地址到一个文本文件,然后运行通过FINDSTR文件(如在建的窗户cmd命令),并把它呼应匹配模式:

如:

findstr /V "\b[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b" input_emails.txt > bad_emails.txt 
1

digdb是一个Excel插件,用于验证可能对您有用的电子邮件地址。它不是免费的,但有一个有时间限制的免费演示,你至少可以用它来看看它是否做到了你想要的。我还没有尝试过这个,但它在我的谷歌搜索中出现,当我试图找到一个我已经使用的方式(并且不能再找到)

1

打开CSV文件,带有正则表达式文本编辑器,如TextWrangler(因为你在Mac上,免费)。然后运行正则表达式搜索,并手动修复找到的结果,因为可能的问题可能会被扭曲。如果电子邮件列首先出现,则更简单。

假设电子邮件地址是第一位的,而不是用引号括起来:

^(?![A-Z0-9\._%\+\-][email protected][A-Z0-9.-]{2,}\.[A-Z]{2,4},) 

注:

  • 使用负前瞻这里找到不正确的匹配,希望你的编辑器支持它(不我的mac现在)
  • 如果全部电子邮件地址有报价,请在首先后添加报价“
相关问题