标签: c++ visual-c++ c++11
所以问题是我正在编写一个代码来检测文本中的所有美国地址。我遇到的问题是像10.08.2013这样的情况可能是门牌号码,因为在我的算法中我只是使用isdigit()来查找数字,而那些少于5位的数字被标记为门牌号码。 有没有办法排除这些数字不被误认为门牌号码?
答案 0 :(得分:1)
您应该使用正则表达式进行模式匹配。您可以了解如何使用C ++ here的正则表达式。
因此,对于从文件中检索的每一行,或者您可能正在收集该数据,您可以根据模式进行检查以确定它是否为日期。
This也是一个很好的参考。
这应该与您正在寻找的大致相同:".^[0-9]{2}.[0-9]{2}.[0-9]{4}$."
".^[0-9]{2}.[0-9]{2}.[0-9]{4}$."