Files
thinkweb/utils/gstr/gstr.go
ZiShuo c2dfa9fbac init
2024-04-10 18:56:50 +08:00

63 lines
1.0 KiB
Go

package gstr
import (
"golang.org/x/text/cases"
"golang.org/x/text/language"
"strings"
)
func Split(str, delimiter string) []string {
return strings.Split(str, delimiter)
}
func Replace(origin, search, replace string, count ...int) string {
n := -1
if len(count) > 0 {
n = count[0]
}
return strings.Replace(origin, search, replace, n)
}
func Equal(a, b string) bool {
return strings.EqualFold(a, b)
}
func Contains(str, substr string) bool {
return strings.Contains(str, substr)
}
func SubStr(str string, start int, length ...int) (substr string) {
lth := len(str)
// Simple border checks.
if start < 0 {
start = 0
}
if start >= lth {
start = lth
}
end := lth
if len(length) > 0 {
end = start + length[0]
if end < start {
end = lth
}
}
if end > lth {
end = lth
}
return str[start:end]
}
func Join(array []string, sep string) string {
return strings.Join(array, sep)
}
func UcWords(str string) string {
return cases.Title(language.Und).String(str)
}
func ToUpper(s string) string {
return strings.ToUpper(s)
}