diff options
| author | qiulaidongfeng <2645477756@qq.com> | 2026-04-09 22:04:07 +0800 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2026-04-14 06:58:23 -0700 |
| commit | 11b596c22dcabf91f9595da778b00e26f4d661a8 (patch) | |
| tree | db66e08f7c03de7facbeab017e68f8f38f255215 /src/strings/strings.go | |
| parent | 33241d7298e0c621cfc4cc9f878dba9eff2b1c3d (diff) | |
| download | go-11b596c22dcabf91f9595da778b00e26f4d661a8.tar.xz | |
bytes,strings: add CutLast
Fixes #71151
Change-Id: I3b3d49c35b0fa2c1220d3f39bbd506cc072b52b0
Reviewed-on: https://go-review.googlesource.com/c/go/+/764601
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Sean Liao <sean@liao.dev>
Reviewed-by: Robert Griesemer <gri@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>
Diffstat (limited to 'src/strings/strings.go')
| -rw-r--r-- | src/strings/strings.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/strings/strings.go b/src/strings/strings.go index 367e0a8e24..70297f1e69 100644 --- a/src/strings/strings.go +++ b/src/strings/strings.go @@ -1289,3 +1289,14 @@ func CutPrefix(s, prefix string) (after string, found bool) { func CutSuffix(s, suffix string) (before string, found bool) { return stringslite.CutSuffix(s, suffix) } + +// CutLast slices s around the last instance of sep, +// returning the text before and after sep. +// The found result reports whether sep appears in s. +// If sep does not appear in s, CutLast returns s, "", false. +func CutLast(s, sep string) (before, after string, found bool) { + if i := LastIndex(s, sep); i >= 0 { + return s[:i], s[i+len(sep):], true + } + return s, "", false +} |
