stash/vendor/github.com/xrash/smetrics
WithoutPants bba7c23957
Upgrade to go 1.19 and update dependencies (#3069)
* Update to go 1.19
* Update dependencies
* Update cross-compile script
* Add missing targets to cross-compile-all
* Update cache action to remove warning
2022-11-04 13:41:26 +11:00
..
.travis.yml Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
doc.go Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
hamming.go Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
jaro-winkler.go Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
jaro.go Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
LICENSE Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
README.md Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
soundex.go Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
ukkonen.go Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00
wagner-fischer.go Upgrade to go 1.19 and update dependencies (#3069) 2022-11-04 13:41:26 +11:00

Build Status

smetrics

smetrics is "string metrics".

Package smetrics provides a bunch of algorithms for calculating the distance between strings.

There are implementations for calculating the popular Levenshtein distance (aka Edit Distance or Wagner-Fischer), as well as the Jaro distance, the Jaro-Winkler distance, and more.

How to import

import "github.com/xrash/smetrics"

Documentation

Go to https://pkg.go.dev/github.com/xrash/smetrics for complete documentation.

Example

package main

import (
	"github.com/xrash/smetrics"
)

func main() {
	smetrics.WagnerFischer("POTATO", "POTATTO", 1, 1, 2)
	smetrics.WagnerFischer("MOUSE", "HOUSE", 2, 2, 4)

	smetrics.Ukkonen("POTATO", "POTATTO", 1, 1, 2)
	smetrics.Ukkonen("MOUSE", "HOUSE", 2, 2, 4)

	smetrics.Jaro("AL", "AL")
	smetrics.Jaro("MARTHA", "MARHTA")

	smetrics.JaroWinkler("AL", "AL", 0.7, 4)
	smetrics.JaroWinkler("MARTHA", "MARHTA", 0.7, 4)

	smetrics.Soundex("Euler")
	smetrics.Soundex("Ellery")

	smetrics.Hamming("aaa", "aaa")
	smetrics.Hamming("aaa", "aab")
}