非结构化文本/数字合并

时间:2017-04-20 15:47:25

标签: python regex textmatching

我正在尝试匹配2个单独数据集中的字段。它们都是地址字段。一个数据集可能包含类似" 532 Sheffield Dr"而另一个可能只包含"谢菲尔德博士"。另一个例子是" US21 Ramp和Hays RD"与" US 21"," N 25th St和Danville RD"与" 25th St"等等。基本上,即使第一个数据集中的数据可能包含一些额外的文本/数字,第二个数据集中列中的所有文本/数字也应与第一个数据集的数据匹配。我一直在尝试使用RegEx,但是还没有能够为它找出合适的代码。我该怎么做?

1 个答案:

答案 0 :(得分:0)

根据您的示例和我所理解的最简单的方法是:

s1 = ["532 Sheffield Dr",  "US21 Ramp and Hays RD",  "N 25th St and Danville RD"]
s2 = ["Sheffield Dr",  "US 21", "25th St"]

for item2 in s2:
    for item1 in s1:
        if item2 in item1 or item2.replace(' ', '') in item1:
            print('%s in %s' % (item2, item1))