从警方报告中提取地址

Extracting Address' from police reports

我目前正在开发一个程序,该程序将搜索中大型字符串并提取地址,以便对它们进行地理编码。

我的例子是:

private void cardCheck()            
{
    cardCount = mobjEntity.CardCount;
    for (int i = 0; i < cardCount; i++)
    {
        card = mobjEntity.Card[i];
        if (card.Text.Contains(" STREET ") || 
        card.Text.Contains(" Street") ||
        card.Text.Contains(" street") ||
        card.Text.Contains(" ST ") ||
        card.Text.Contains(" St ") ||
        card.Text.Contains(" st "))
        {

        }
    }
}

我不太擅长正则表达式,我希望你们中的一位正则表达式专家能给我一个有用的 link for testing/learning 正则表达式。

我已经为每种街道类型写了上面的内容,这非常乏味,我什至仍然不知道从那里可以做什么。

这是一个理想的输入输出:

输入: 2010 年 4 月 9 日星期五,在 9:45 a.m,我,Janice Ruiz 警官,被派往 2170 Powell Street 调查一起入室盗窃案。我会见了报告盗窃案的房主 Frank Gaines。

输出: 鲍威尔街 2170 号

您是否尝试过使用正则表达式来搜索文本?快速 Google search returns 几个可能适合您的 RE。这是一个例子:

\d{1,3}.?\d{0,3}\s[a-zA-Z]{2,30}\s[a-zA-Z]{2,15}

这是一个概念证明:https://regex101.com/r/dH3jJ8/1