AZ Tools

문자열 거리 계산기

텍스트

두 문자열 입력 — 여러 편집 거리 지표로 얼마나 떨어져 있는지 확인. **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은 같은 길이 문자열에만 작동.

사용법

  1. 두 문자열 입력/붙여넣기.
  2. 각 거리 지표와 유사도 % 확인.
  3. 퍼지 중복 제거 시작 임계값 ~85%+, 오타 허용 검색은 더 낮게.

자주 묻는 질문

어떤 지표 사용?
사람이 인접 문자를 바꾸는 타이핑 텍스트는 Damerau-Levenshtein 사용. 단백질 서열·고정 길이 코드는 Hamming. 그 외 모든 것(URL 슬러그·이름·자유 텍스트)은 Levenshtein이 안전한 기본 — 대부분 맞춤법 라이브러리가 내부적으로 사용.
유사도 %와 거리 관계?
정규화된 Levenshtein: 100%는 동일·0%는 모든 문자 교체 필요. 분모는 두 문자열 중 더 긴 것 — `cat` 대 `dog`은 0%(3 편집/3 문자)·`cat` 대 `catt`는 75%(1 편집/4 문자).
Hamming이 가끔 'n/a'인 이유?
Hamming 거리는 같은 길이 문자열에만 정의. 길이가 다르면 의미 있는 쌍별 위치 비교 불가 — Levenshtein 사용.
대소문자 구분?
예. `Cat` 대 `cat`은 Levenshtein 거리 1. 대소문자 무시 비교 원하면 두 입력 모두 소문자화 먼저.

관련 도구