无法从DOC文件中提取(US)ZipCode



我需要从简历.doc文件中获取ZipCode ..但没有成功,

与静态字符串一起工作,我的意思是验证静态字符串,但无法从DOC文件中解析ZipCode,

我正在分享我的代码...

   protected void zipcodeGetter()
    {
        var path = "C:\Users\Jatinder\Desktop\LUCENE\Resume\Jeffrey.doc";
        Document doc = new Document();
        string html = File.ReadAllText(path);
        using (StreamReader sr = new StreamReader(path, System.Text.Encoding.Default))
        {
            html = sr.ReadToEnd();
        }
        const string MatchPhondePattern = @"^d{5}(?:[-s]d{4})?$";
        Regex rx = new Regex(MatchPhondePattern, RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace);
        MatchCollection matches = rx.Matches(html);
        // Report the number of matches found.
        int noOfMatches = matches.Count;
        //Do something with the matches
        foreach (Match match in matches)
        {
            //Do something with the matches
            string tempPhoneNumber = match.Value.ToString(); ;
        }
    }

任何人都可以帮我这个

您的代码无法与该正则表达式作用。

这个问题很复杂,最好的选择是使用这样做的公司的服务。他们将具有强大的系统。

这是关于Regex和地址的文章的报价:

我们从程序员那里得到了很多有关解析地址的问题。我们看到很多人试图在街道地址使用正则表达式,并且作为地址用户体验专家,每当另一个程序员落入此陷阱的猎物时,我们都会畏缩。我们希望这些信息能为您节省一些麻烦,如果您的搜索徒劳无功,请随时向我们询问您对地址的任何问题。...

您应该使用正则表达式来解析街道地址吗?简短的答案是:"可能不是。"由于地址内容和格式的差异很大,地址不是"常规",这是使用正则表达式处理信息的必不可少的因素。


现在,有关您的正则表达式的一些笔记和提示。

我使用Regexr为您使用的正则表达式示例。如您所见,没有突出显示的区域,这意味着您的正则表达式不起作用。

如果您只想匹配五个连续数字,则正则表达式为:[0-9]{5}。这是一个例子。

您不仅可以使用^$,因为例如,在代码中可能有一个空间或邮政编码和^$之前的空间或一段时间,这意味着您正在寻找线条。

没有其他预选赛的问题是,您也将匹配长数字。换句话说,使用1234567890之类的字符串,您将匹配[0-9]{5},因为该字符串中有五个连续数字。

很难在比赛前或之后使用可能的标点符号或空格来限定正则表达式,因为如果比赛在线的开头或结尾处怎么办?它会错过一些。

这是可能对您有用的正则。在很多情况下,它似乎有效。您可以在此处看到示例,并提供更多解释。

(?<=W|^)d{5}(-?d{4})?(?=W|$)

(全面披露:我在Smartystreets工作,我们有一个可以执行此操作的API。如果您有兴趣,请查看API文档。)

最新更新