AZ Tools

Calculadora de Distancia de Cadenas

Texto

Escribe dos cadenas y mira qué tan distantes están según varias métricas de distancia de edición. **Levenshtein** cuenta inserciones, eliminaciones y sustituciones — la métrica clásica de corrector ortográfico. **Damerau-Levenshtein** también cuenta transposiciones adyacentes como una edición, lo que se ajusta mejor a errores de tipeo. **Hamming** cuenta diferencias posición por posición (solo definida cuando ambas cadenas tienen la misma longitud). El **porcentaje de similitud** es `(1 - levenshtein / max_length) * 100`, útil como umbral fuzzy-match para deduplicar registros.

Similitud

57.1%

Levenshtein

3

Damerau-Lev.

3

Hamming

n/a

Damerau-Levenshtein trata `ab → ba` (transposición) como una edición; Levenshtein clásico lo cuenta como dos. Hamming solo funciona con cadenas de igual longitud.

Cómo usar

  1. Escribe o pega dos cadenas.
  2. Lee cada métrica de distancia y el % de similitud.
  3. Usa ~85%+ de similitud como umbral inicial para deduplicación fuzzy, más bajo para búsqueda tolerante a typos.

Preguntas frecuentes

¿Qué métrica usar?
Para texto tipeado donde humanos transponen caracteres adyacentes, usa Damerau-Levenshtein. Para secuencias de proteínas o códigos de longitud fija usa Hamming. Para todo lo demás (URL slugs, nombres, texto libre) Levenshtein es el default seguro — y lo que la mayoría de librerías de spell-check usan internamente.
¿Cómo se relaciona el % similitud con las distancias?
Es Levenshtein normalizado: 100% significa idéntico, 0% significa que cada carácter debe reemplazarse. El denominador es la cadena más larga, así `cat` vs `dog` es 0% (3 ediciones/3 chars) pero `cat` vs `catt` es 75% (1 edición/4 chars).
¿Por qué Hamming a veces es 'n/a'?
La distancia Hamming solo se define para cadenas de igual longitud. Si difieren las longitudes no hay comparación posición a posición significativa — usa Levenshtein.
¿Distingue mayúsculas?
Sí. `Cat` vs `cat` tiene distancia Levenshtein 1. Pasa ambos inputs a minúsculas primero si quieres comparación case-insensitive.

Herramientas relacionadas