GoDoxy/internal/utils/string.go
2024-10-03 02:53:05 +08:00

33 lines
576 B
Go

package utils
import (
"net/url"
"strconv"
"strings"
"golang.org/x/text/cases"
"golang.org/x/text/language"
)
// TODO: support other languages
var titleCaser = cases.Title(language.AmericanEnglish)
func CommaSeperatedList(s string) []string {
res := strings.Split(s, ",")
for i, part := range res {
res[i] = strings.TrimSpace(part)
}
return res
}
func Title(s string) string {
return titleCaser.String(s)
}
func ExtractPort(fullURL string) (int, error) {
url, err := url.Parse(fullURL)
if err != nil {
return 0, err
}
return strconv.Atoi(url.Port())
}