12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // Copyright GoFrame Author(https://goframe.org). All Rights Reserved.
- //
- // This Source Code Form is subject to the terms of the MIT License.
- // If a copy of the MIT was not distributed with this file,
- // You can obtain one at https://github.com/gogf/gf.
- package gstr
- import "strings"
- // Str returns part of `haystack` string starting from and including
- // the first occurrence of `needle` to the end of `haystack`.
- // See http://php.net/manual/en/function.strstr.php.
- func Str(haystack string, needle string) string {
- if needle == "" {
- return ""
- }
- pos := strings.Index(haystack, needle)
- if pos == NotFoundIndex {
- return ""
- }
- return haystack[pos+len([]byte(needle))-1:]
- }
- // StrEx returns part of `haystack` string starting from and excluding
- // the first occurrence of `needle` to the end of `haystack`.
- func StrEx(haystack string, needle string) string {
- if s := Str(haystack, needle); s != "" {
- return s[1:]
- }
- return ""
- }
- // StrTill returns part of `haystack` string ending to and including
- // the first occurrence of `needle` from the start of `haystack`.
- func StrTill(haystack string, needle string) string {
- pos := strings.Index(haystack, needle)
- if pos == NotFoundIndex || pos == 0 {
- return ""
- }
- return haystack[:pos+1]
- }
- // StrTillEx returns part of `haystack` string ending to and excluding
- // the first occurrence of `needle` from the start of `haystack`.
- func StrTillEx(haystack string, needle string) string {
- pos := strings.Index(haystack, needle)
- if pos == NotFoundIndex || pos == 0 {
- return ""
- }
- return haystack[:pos]
- }
|