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