从文本文件中提取特定信息(最好使用vba)

时间:2014-10-21 20:11:07

标签: string vba information-extraction

我在这里的第一篇文章,但在过去的几年里已经从论坛中学到了很多东西!

我有很多带有个人信息的文件,但它们的格式差别很大。他们是简历,没有什么比这更奇特了......

我将这些简历放在数据库中,但是我在获取所需信息方面遇到了问题。我正在使用VBA,但我对任何事情持开放态度。名称在文件名中,因此很容易。所以找到他们的电子邮件地址(希望他们没有将他们的参考电子邮件也放入)。发布代码有点棘手,但有一个缓慢的解决方案(将所有单词与一个数字匹配到一个邮政编码列表中。有近3000个,因此速度很慢)。

所以当然还有电话号码。麻烦是确保它不是电话号码以外的其他号码。

如果我能整齐地提取所有内容(如专业经验和教育等等),那当然是完美的,但是甚至不能开始思考如何使程序变得足够聪明。

事情是,我看到一个程序做了这样的事情,但不确定它有多高效。有没有人有相同/类似的任务?或者有任何想法可以解决这个问题吗?

此致 约翰

1 个答案:

答案 0 :(得分:1)

定期表达是要走的路。您会发现许多带有表达式的网站,例如提取电子邮件地址(http://www.regular-expressions.info/email.html)。 Word的搜索和替换也有一个称为使用通配符的正则表达式模式。

xmlstring = "<Function IDREF=""TST_RxRccsMatrix_Rx64"" Start=""2011-04-07T14:21:35.593000+02:00"" Status=""Success"" Tags=""SystemSerialNumber:41009"" End=""2011-04-07T14:29:16.625000+02:00"">"
Set regEx = New RegExp
regEx.Pattern = "IDREF=""([a-z0-9_]+)"""
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(xmlstring)
If Matches.count <> 1 then msgbox "no match or too many"
For Each Match in Matches
      Msgbox match.submatches(0)
Next