java - android java正则表达式匹配除一个字符外的所有字符

标签 java android regex csv

我有一个包含姓名、地址等的 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/

相关文章:

java - 用 Java 在窗口外绘图?

java - 我如何将vaadin表中的列的值设置为链接或按钮?

regex - ExpressJS 路由正则表达式 : how to match a param to everything except one route

java - 如何使一个方法在所有子包中都可访问

java - 更新语法错误

java - IntelliJ 使用错误的 JDK 版本从 POM 导入项目

Android studio 启动但没有安装任何东西

Android,Log会降低应用程序速度吗?

regex - 匹配重复 3 次或更多次

正则表达式问题 - 换行符(或不换行符)