java - 给定一个排序规则,如何选择多个等价形式中的“最简单”?
问题描述
我们正在处理使用不同拼写变体来表示同一实体的数据。让我们以汽车制造商为例:也许一张唱片上写着“雪铁龙”,另一张写着“雪铁龙”,但它们指的是同一家法国汽车制造商。
现在我想找到这些名称的“最简单”形式(此处:“Citroen”)用作该汽车制造商的主要名称,而所有其他名称(此处:“Citroën”)将成为别名。
更好的是:有没有办法让我计算出“最简单”的形式,即使它从未出现在数据中?例如,所有记录都说“Citroën”,但我还是计算“Citroen”?
通过这种方式,我可以快速确定提到汽车制造商的新数据是否与我已经知道的任何汽车制造商匹配:我只需将新数据中的汽车制造商转换为其最简单的形式,然后匹配所有我最简单的形式知道,然后我可以看看我以前是否见过这家汽车制造商。
Java 提供了一种比较给定排序规则的字符串的方法,因此我可以发现它们是相等的。但我还没有找到如何找到最简单的形式。
(Unicode 规范化做了一些不同的事情,尽管我也想应用它。)
解决方案
推荐阅读
- java - 将 HTML 解析为纯文本,但保留每个字符的标签信息
- python - PCL 安装错误
- angular - HttpInterceptor 刷新令牌
- java - 我可以按属性分组并映射到java 8中的新对象吗
- java - 使用此正则表达式拆分字符串:[\\dc]+
- python-3.x - 我们如何将执行 pandas read_csv() 时生成的警告消息存储到变量中?
- mongodb - 如何验证两个非关系数据库之间的数据一致性?
- javascript - 一个简单的计算器(只加)oop javascript
- sql-server - 将前 x 列从一个表复制到另一个空表
- android - H264 格式没有音频 如何在 h264 中获取音频