Files
commons/strings.go
George Suntres d829099a45 Add StringTitle
2026-03-30 18:29:58 -04:00

35 lines
786 B
Go

package commons
import (
"regexp"
"strings"
"golang.org/x/text/cases"
"golang.org/x/text/language"
)
var caserTitle cases.Caser = cases.Title(language.English)
var whitespace = regexp.MustCompile(`\s+`)
func StringTitle(s string) string {
return caserTitle.String(s)
}
// StringNormalize will replace arbitrary lengths of consecutive white space with a single one.
func StringNormalize(s string) string {
s = whitespace.ReplaceAllString(s, " ")
return strings.TrimSpace(s)
}
//StringIsBlank checks if a string is blank. Will trim the string before the check takes place.
func StringIsBlank(s string) bool {
return len(strings.TrimSpace(s)) == 0
}
// StringIsNotBlank check if a string is NOT blank.
func StringIsNotBlank(s string) bool {
return !StringIsBlank(s)
}