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

strings: move TrimPrefix and TrimSuffix to stringslite

To help packages use these functions like "os" which using
the copied function "stringsTrimSuffix".

Change-Id: I223028ed264c7b7e95534b4883223af0988cda68
GitHub-Last-Rev: 2fd8fbf528
GitHub-Pull-Request: golang/go#67151
Reviewed-on: https://go-review.googlesource.com/c/go/+/583075
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: qiu laidongfeng2 <2645477756@qq.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
This commit is contained in:
apocelipes 2024-05-03 08:36:03 +00:00 committed by Gopher Robot
parent 0bc093a1aa
commit 10c035acd6
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 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. // TrimPrefix returns s without the provided leading prefix string.
// If s doesn't start with prefix, s is returned unchanged. // If s doesn't start with prefix, s is returned unchanged.
func TrimPrefix(s, prefix string) string { func TrimPrefix(s, prefix string) string {
if HasPrefix(s, prefix) { return stringslite.TrimPrefix(s, prefix)
return s[len(prefix):]
}
return s
} }
// TrimSuffix returns s without the provided trailing suffix string. // TrimSuffix returns s without the provided trailing suffix string.
// If s doesn't end with suffix, s is returned unchanged. // If s doesn't end with suffix, s is returned unchanged.
func TrimSuffix(s, suffix string) string { func TrimSuffix(s, suffix string) string {
if HasSuffix(s, suffix) { return stringslite.TrimSuffix(s, suffix)
return s[:len(s)-len(suffix)]
}
return s
} }
// Replace returns a copy of the string s with the first n // Replace returns a copy of the string s with the first n