匹配不同的字符串

dev*_*rog 5 c# algorithm

假设有两组字符串:

[ "Mr. Jones", "O'Flaherty", "Bob", "Rob Jenkins" ]
[ "Maxwell O'Flaherty", "Robert Jenkins", "Mrs. Smith" ]
Run Code Online (Sandbox Code Playgroud)

很明显,这两套有Maxwell O'Flaherty和Robert Jenkins的共同点.

是否有任何算法可以让我们以编程方式进行这样的匹配?我正在考虑编写将遍历字符串数组中的每个元素的内容,并尝试查找任何子集,这些子字符串是唯一的,并且不包含在任何一个集合中的任何其他元素中,然后将其用作每个元素的一种哈希值匹配两套.

pet*_*ust 1

您可能会发现编辑距离很有用。如果您做了很多这样的事情,但不清楚信息的准确性,可以使用一些用于字符串消歧的库。(罗布和罗伯特是相同的这一点并不“明显”——事实上,第一个可能是罗宾。