package tagengine import "unicode" func ngramLength(s string) int { N := len(s) i := 0 count := 0 for { // Eat spaces. for i < N && unicode.IsSpace(rune(s[i])) { i++ } // Done? if i == N { break } // Non-space! count++ // Eat non-spaces. for i < N && !unicode.IsSpace(rune(s[i])) { i++ } } return count }