1
0
mirror of https://github.com/golang/go synced 2024-11-15 00:30:31 -07:00

strings: move TrimPrefix and TrimSuffix to stringslite

To help packages use these funcions like "os" use stringsTrimSuffix.
This commit is contained in:
apocelipes 2024-05-03 16:17:33 +08:00
parent a3eb55cea9
commit 2fd8fbf528
2 changed files with 16 additions and 8 deletions

View File

@ -122,3 +122,17 @@ func CutSuffix(s, suffix string) (before string, found bool) {
}
return s[:len(s)-len(suffix)], true
}
func TrimPrefix(s, prefix string) string {
if HasPrefix(s, prefix) {
return s[len(prefix):]
}
return s
}
func TrimSuffix(s, suffix string) string {
if HasSuffix(s, suffix) {
return s[:len(s)-len(suffix)]
}
return s
}

View File

@ -1075,19 +1075,13 @@ func TrimSpace(s string) string {
// TrimPrefix returns s without the provided leading prefix string.
// If s doesn't start with prefix, s is returned unchanged.
func TrimPrefix(s, prefix string) string {
if HasPrefix(s, prefix) {
return s[len(prefix):]
}
return s
return stringslite.TrimPrefix(s, prefix)
}
// TrimSuffix returns s without the provided trailing suffix string.
// If s doesn't end with suffix, s is returned unchanged.
func TrimSuffix(s, suffix string) string {
if HasSuffix(s, suffix) {
return s[:len(s)-len(suffix)]
}
return s
return stringslite.TrimSuffix(s, suffix)
}
// Replace returns a copy of the string s with the first n