Oapi-Feishu/code/utils/strings.go
2023-06-23 18:53:44 +08:00

39 lines
791 B
Go

package utils
import "strings"
func CutPrefix(s, prefix string) (string, bool) {
if strings.HasPrefix(s, prefix) {
return strings.TrimPrefix(s, prefix), true
}
return s, false
}
func EitherCutPrefix(s string, prefix ...string) (string, bool) {
// 任一前缀匹配则返回剩余部分
for _, p := range prefix {
if strings.HasPrefix(s, p) {
return strings.TrimPrefix(s, p), true
}
}
return s, false
}
// trim space and equal
func TrimEqual(s, prefix string) (string, bool) {
if strings.TrimSpace(s) == prefix {
return "", true
}
return s, false
}
func EitherTrimEqual(s string, prefix ...string) (string, bool) {
// 任一前缀匹配则返回剩余部分
for _, p := range prefix {
if strings.TrimSpace(s) == p {
return "", true
}
}
return s, false
}