阅读(414) (13)

GoFrame gstr-相似计算

2022-04-11 15:16:01 更新

Levenshtein

  • 说明:​Levenshtein​计算两个字符串之间的​Levenshtein​距离。
  • 格式:

Levenshtein(str1, str2 string, costIns, costRep, costDel int) int

  • 示例:

func ExampleLevenshtein() {
	var (
		str1    = "Hello World"
		str2    = "hallo World"
		costIns = 1
		costRep = 1
		costDel = 1
		result  = gstr.Levenshtein(str1, str2, costIns, costRep, costDel)
	)
	fmt.Println(result)

	// Output:
	// 2
}

SimilarText

  • 说明:​SimilarText​计算两个字符串之间的相似度。  
  • 格式:

SimilarText(first, second string, percent *float64) int

  • 示例:

func ExampleSimilarText() {
	var (
		first   = `AaBbCcDd`
		second  = `ad`
		percent = 0.80
		result  = gstr.SimilarText(first, second, &percent)
	)
	fmt.Println(result)

	// Output:
	// 2
}

Soundex

  • 说明:​Soundex​用于计算字符串的​Soundex​键。  
  • 格式:

Soundex(str string) string

  • 示例:

func ExampleSoundex() {
	var (
		str1    = `Hello`
		str2    = `Hallo`
		result1 = gstr.Soundex(str1)
		result2 = gstr.Soundex(str2)
	)
	fmt.Println(result1, result2)

	// Output:
	// H400 H400
}