字符串距离计算器
文本
输入两个字符串,按多种编辑距离指标查看其相距。**Levenshtein** 计算插入、删除、替换 — 经典拼写检查指标。**Damerau-Levenshtein** 还把相邻 transposition 计为一次编辑,更贴合打字错误。**Hamming** 逐位比较差异(仅在两串等长时定义)。**相似度百分比** 为 `(1 - levenshtein / max_length) * 100`,便于作记录去重的模糊匹配阈值。
—
相似度
57.1%
Levenshtein
3
Damerau-Lev.
3
Hamming
n/a
Damerau-Levenshtein 将 `ab → ba`(transposition)视为一次编辑;普通 Levenshtein 计为两次。Hamming 仅对等长字符串生效。
使用方法
- 输入或粘贴两个字符串。
- 查看每种距离指标与相似度 %。
- 模糊去重的起始阈值约 85%+,对容错搜索可更低。
常见问题
- 该用哪种指标?
- 对人类录入文本(常把相邻字符交换)用 Damerau-Levenshtein。对蛋白质序列或定长码用 Hamming。其它一切(URL slug、姓名、自由文本)Levenshtein 是安全默认 — 多数拼写检查库内部也用它。
- 相似度 % 与距离如何关联?
- 为归一化的 Levenshtein:100% 表示相同,0% 表示每个字符都需替换。分母是两串中较长者,所以 `cat` 对 `dog` 是 0%(3 编辑/3 字)而 `cat` 对 `catt` 是 75%(1 编辑/4 字)。
- 为何 Hamming 有时为 'n/a'?
- Hamming 距离仅对等长字符串定义。长度不同则没有有意义的逐位比较 — 请用 Levenshtein。
- 区分大小写吗?
- 区分。`Cat` 对 `cat` 的 Levenshtein 距离为 1。若要不区分大小写,请先将两输入小写化。