我有一个CSV数据库,其中包含姓名,地址等。
现在我将在我的Android应用程序中搜索一些东西,让我们说出地址,然后显示与它相关的其他记录-姓名,电话……
问题是,在CSV中,有些条目缺少字符,而是有空格-例如"G rmany“(用空格代替"e")
不幸的是,数据库经常更新,我不能每次都手动更正它。
当我搜索“德国”时,如何匹配“德国德累斯顿”、“德国德累斯顿”、“德国德累斯顿”等?
我认为不匹配的字符是有限制的,所以让我们假设不超过两个--至少我从未见过比这更多的字符
发布于 2016-07-27 18:36:51
首先想到的是Levenshtein距离(除了插入和删除之外,您正在寻找与德国的距离为1的内容)。不能直接使用正则表达式执行此操作,但可以通过编程方式生成正则表达式。
这里有另一个可能有用的答案:Levenshtein distance in regular expression
https://stackoverflow.com/questions/38610463
复制相似问题