我需要从简历.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文档。)