GoFrame入门教程 GoFrame gstr-子串截取

2024-02-25 开发教程 GoFrame入门教程 匿名 3

Str

  • 说明:​Str​返回从​needle​第一次出现的位置开始,到​haystack​结尾的字符串(包含​needle​本身)。
  • 格式:
Str(haystack string, needle string) string
  • 示例:
func ExampleStr() {
var (
haystack = `xxx.jpg`
needle = `.`
result = gstr.Str(haystack, needle)
)
fmt.Println(result)
// Output:
// .jpg
}

StrEx

  • 说明:​StrEx​返回从​needle​第一次出现的位置开始,到​haystack​结尾的字符串(不包含​needle​本身)。
  • 格式:
StrEx(haystack string, needle string) string
  • 示例:
func ExampleStrEx() {
var (
haystack = `https://goframe.org/index.html?a=1&b=2`
needle = `?`
result = gstr.StrEx(haystack, needle)
)
fmt.Println(result)
// Output:
// a=1&b=2
}

StrTill

  • 说明:​StrTill​返回从​haystack​字符串开始到​needle​第一次出现的位置的字符串(包含​needle​本身)。
  • 格式:
StrTill(haystack string, needle string) string
  • 示例:
func ExampleStrTill() {
var (
haystack = `https://goframe.org/index.html?test=123456`
needle = `?`
result = gstr.StrTill(haystack, needle)
)
fmt.Println(result)
// Output:
// https://goframe.org/index.html?
}

StrTillEx

  • 说明:​StrTillEx​返回从​haystack​字符串开始到​needle​第一次出现的位置的字符串(不包含​needle​本身)。
  • 格式:
StrTillEx(haystack string, needle string) string
  • 示例:
func ExampleStrTillEx() {
var (
haystack = `https://goframe.org/index.html?test=123456`
needle = `?`
result = gstr.StrTillEx(haystack, needle)
)
fmt.Println(result)
// Output:
// https://goframe.org/index.html
}

SubStr

  • 说明:​SubStr​返回字符串​str​从​start​开始,长度为​length​的新字符串。 参数​length​是可选的,它默认使用​str​的长度。
  • 格式:
SubStr(str string, start int, length ...int) (substr string)
  • 示例:
func ExampleSubStr() {
var (
str = `1234567890`
start = 0
length = 4
subStr = gstr.SubStr(str, start, length)
)
fmt.Println(subStr)
// Output:
// 1234
}

SubStrRune

  • 说明:​SubStrRune​返回​unicode​字符串​str​从​start​开始,长度为​length​的新字符串。 参数​length​是可选的,它默认使用​str​的长度。
  • 格式:
SubStrRune(str string, start int, length ...int) (substr string)
  • 示例:
func ExampleSubStrRune() {
var (
str = `GoFrame是一款模块化、高性能、企业级的Go基础开发框架。`
start = 14
length = 3
subStr = gstr.SubStrRune(str, start, length)
)
fmt.Println(subStr)
// Output:
// 高性能
}

StrLimit

  • 说明:​StrLimit​取​str​字符串开始,长度为​length​的字符串,加上​suffix...​后返回新的字符串。
  • 格式:
StrLimit(str string, length int, suffix ...string) string
  • 示例:
func ExampleStrLimit() {
var (
str = `123456789`
length = 3
suffix = `...`
result = gstr.StrLimit(str, length, suffix)
)
fmt.Println(result)
// Output:
// 123...
}

StrLimitRune

  • 说明:​StrLimitRune​取​unicode​字符串​str​开始,长度为​length​的字符串,加上​suffix...​后返回新的字符串。
  • 格式:
StrLimitRune(str string, length int, suffix ...string) string
  • 示例:
func ExampleStrLimitRune() {
var (
str = `GoFrame是一款模块化、高性能、企业级的Go基础开发框架。`
length = 17
suffix = "..."
result = gstr.StrLimitRune(str, length, suffix)
)
fmt.Println(result)
// Output:
// GoFrame是一款模块化、高性能...
}

SubStrFrom

  • 说明:​SubStrFrom​返回字符串​str​从第一次出现​need​到​str​的结尾的字符串(包含​need​)。
  • 格式:
SubStrFrom(str string, need string) (substr string)
  • 示例:
func ExampleSubStrFrom() {
var (
str = "我爱GoFrameGood"
need = `爱`
)
fmt.Println(gstr.SubStrFrom(str, need))
// Output:
// 爱GoFrameGood
}

SubStrFromEx

  • 说明:​SubStrFromEx​返回字符串​str​从第一次出现​need​到​str​的结尾的字符串(不包含​need​)。
  • 格式:
SubStrFromEx(str string, need string) (substr string)
  • 示例:
func ExampleSubStrFromEx() {
var (
str = "我爱GoFrameGood"
need = `爱`
)
fmt.Println(gstr.SubStrFromEx(str, need))
// Output:
// GoFrameGood
}

SubStrFromR

  • 说明:​SubStrFromR​返回字符串​str​从最后一次出现​need​到​str​的结尾的字符串(包含​need​)。
  • 格式:
SubStrFromR(str string, need string) (substr string)
  • 示例:
func ExampleSubStrFromR() {
var (
str = "我爱GoFrameGood"
need = `Go`
)
fmt.Println(gstr.SubStrFromR(str, need))
// Output:
// Good
}

SubStrFromREx

  • 说明:​SubStrFromREx​返回字符串​str​从最后一次出现​need​到​str​的结尾的字符串(不包含​need​)。
  • 格式:
SubStrFromREx(str string, need string) (substr string)
  • 示例:
func ExampleSubStrFromREx() {
var (
str = "我爱GoFrameGood"
need = `Go`
)
fmt.Println(gstr.SubStrFromREx(str, need))
// Output:
// od
}