-2

所以问题是我正在编写一个代码来检测文本中的所有美国地址。我遇到的问题是,像 10.08.2013 这样的情况可能是门牌号码,因为在我的算法中,我只是使用 isdigit() 来查找数字,而那些少于 5 位的数字会被标记为门牌号码。有没有办法排除这些数字以免被误认为门牌号码?

4

1 回答 1

1

您应该使用正则表达式进行模式匹配。您可以在此处了解如何在 C++ 中使用正则表达式。

因此,对于您从文件中检索到的每一行,或者您可能正在收集该数据,您可以对照模式检查它以确定它是否是日期。

也是一个很好的参考。

这应该是您正在寻找的大致内容:".^[0-9]{2}.[0-9]{2}.[0-9]{4}$."

于 2013-07-19T13:49:06.803 回答