github.com/seeker-insurance/kit@v0.0.13/address/normalize.go (about) 1 package address 2 3 import ( 4 "strings" 5 6 "github.com/seeker-insurance/kit/str" 7 ) 8 9 func normalizeComponent(s string) string { 10 s = str.ExtremeNormalization(s) 11 return NormalizeSuffixes(s) 12 } 13 14 var suffixReplacer = makeSuffixReplacer() 15 16 func makeSuffixReplacer() *strings.Replacer { 17 pairs := make([]string, 0, len(suffixVariations)*2) 18 for key, val := range suffixVariations { 19 pairs = append(pairs, key, val) 20 } 21 return strings.NewReplacer(pairs...) 22 23 } 24 25 //NormalizeSuffixes normalizes lowercase address suffixes to the standard format used by the United States Postal Service. 26 //i.e, "pkwy": "parkway", 27 //see http://www.pb.com/docs/us/pdf/sis/mail-services/usps-suffix-abbreviations.pdf 28 func NormalizeSuffixes(s string) string { 29 return suffixReplacer.Replace(s) 30 }