An open API service indexing awesome lists of open source software.

https://github.com/eskriett/strmet

Fast string metric algorithms written in go
https://github.com/eskriett/strmet

damerau-levenshtein go golang levenshtein-distance string-metrics

Last synced: 11 months ago
JSON representation

Fast string metric algorithms written in go

Awesome Lists containing this project

README

          

# strmet

[![GoDoc](https://godoc.org/github.com/eskriett/strmet?status.svg)](https://godoc.org/github.com/eskriett/strmet)
[![Build Status](https://travis-ci.org/eskriett/strmet.svg?branch=master)](https://travis-ci.org/eskriett/strmet)
[![Go Report Card](https://goreportcard.com/badge/github.com/eskriett/strmet)](https://goreportcard.com/report/github.com/eskriett/strmet)

Fast and memory efficient string metric algorithms.

Available algorithms:
* [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance)
* [Damerau–Levenshtein distance](https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance)

## Example

```go
package main

import (
"fmt"
"github.com/eskriett/strmet"
)

func main() {
s1 := "baseball"
s2 := "football"

fmt.Printf("The Levenshtein distance between %s and %s is %d\n",
s1, s2, strmet.Levenshtein(s1, s2, 10))
// -> The Levenshtein distance between baseball and football is 4

s1 = "salt"
s2 = "slat"
fmt.Printf("The Damerau–Levenshtein distance between %s and %s is %d\n",
s1, s2, strmet.DamerauLevenshtein(s1, s2, 10))
// -> The Damerau–Levenshtein distance between salt and slat is 1
}
```