阅读(2263) (8)

GoFrame gstr-子串截取

2022-04-11 15:15:37 更新

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
}