doc-generate/internal/util/util.go

31 lines
657 B
Go
Raw Permalink Normal View History

2025-09-30 08:16:44 +00:00
package util
import (
"strings"
"unicode"
)
// TrimWhiteSpace removes all whitespace characters from the string
func TrimWhiteSpace(s string) string {
return strings.Map(func(r rune) rune {
if unicode.IsSpace(r) {
return -1
}
return r
}, s)
}
// FieldsAndTrimSpace splits string by the given separator function and trims space for each field
func FieldsAndTrimSpace(s string, fn func(rune) bool) []string {
fields := strings.FieldsFunc(s, fn)
result := make([]string, 0, len(fields))
for _, field := range fields {
trimmed := strings.TrimSpace(field)
if len(trimmed) > 0 {
result = append(result, trimmed)
}
}
return result
}