string.go

 1package stringext
 2
 3import (
 4	"strings"
 5
 6	"golang.org/x/text/cases"
 7	"golang.org/x/text/language"
 8)
 9
10func Capitalize(text string) string {
11	return cases.Title(language.English, cases.Compact).String(text)
12}
13
14// NormalizeSpace normalizes whitespace in the given content string.
15// It replaces Windows-style line endings with Unix-style line endings,
16// converts tabs to four spaces, and trims leading and trailing whitespace.
17func NormalizeSpace(content string) string {
18	content = strings.ReplaceAll(content, "\r\n", "\n")
19	content = strings.ReplaceAll(content, "\t", "    ")
20	content = strings.TrimSpace(content)
21	return content
22}