Documentation
¶
Overview ¶
Package strutil implements some functions to manipulate string.
Index ¶
- func After(s, char string) string
- func AfterLast(s, char string) string
- func Before(s, char string) string
- func BeforeLast(s, char string) string
- func CamelCase(s string) string
- func Capitalize(s string) string
- func IsString(v any) bool
- func KebabCase(s string) string
- func LowerFirst(s string) string
- func PadEnd(source string, size int, padStr string) string
- func PadStart(source string, size int, padStr string) string
- func Reverse(s string) string
- func SnakeCase(s string) string
- func SplitEx(s, sep string, removeEmptyString bool) []string
- func Substring(s string, offset int, length uint) string
- func Unwrap(str string, wrapToken string) string
- func UpperFirst(s string) string
- func UpperKebabCase(s string) string
- func UpperSnakeCase(s string) string
- func Wrap(str string, wrapWith string) string
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func After ¶
After returns the substring after the first occurrence of a specified string in the source string. Play: https://go.dev/play/p/RbCOQqCDA7m
Example ¶
result1 := After("foo", "")
result2 := After("foo", "foo")
result3 := After("foo/bar", "foo")
result4 := After("foo/bar", "/")
result5 := After("foo/bar/baz", "/")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
fmt.Println(result5)
Output: foo /bar bar bar/baz
func AfterLast ¶
AfterLast returns the substring after the last occurrence of a specified string in the source string. Play: https://go.dev/play/p/1TegARrb8Yn
Example ¶
result1 := AfterLast("foo", "")
result2 := AfterLast("foo", "foo")
result3 := AfterLast("foo/bar", "/")
result4 := AfterLast("foo/bar/baz", "/")
result5 := AfterLast("foo/bar/foo/baz", "foo")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
fmt.Println(result5)
Output: foo bar baz /baz
func Before ¶
Before returns the substring of the source string up to the first occurrence of the specified string. Play: https://go.dev/play/p/JAWTZDS4F5w
Example ¶
result1 := Before("foo", "")
result2 := Before("foo", "foo")
result3 := Before("foo/bar", "/")
result4 := Before("foo/bar/baz", "/")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
Output: foo foo foo
func BeforeLast ¶
BeforeLast returns the substring of the source string up to the last occurrence of the specified string. Play: https://go.dev/play/p/pJfXXAoG_Te
Example ¶
result1 := BeforeLast("foo", "")
result2 := BeforeLast("foo", "foo")
result3 := BeforeLast("foo/bar", "/")
result4 := BeforeLast("foo/bar/baz", "/")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
Output: foo foo foo/bar
func CamelCase ¶
CamelCase coverts string to camelCase string. Non letters and numbers will be ignored. Play: https://go.dev/play/p/9eXP3tn2tUy
Example ¶
strings := []string{"", "foobar", "&FOO:BAR$BAZ", "$foo%", "Foo-#1😄$_%^&*(1bar"}
for _, v := range strings {
s := CamelCase(v)
fmt.Println(s)
}
Output: foobar fooBarBaz foo foo11Bar
func Capitalize ¶
Capitalize converts the first character of a string to upper case and the remaining to lower case. Play: https://go.dev/play/p/2OAjgbmAqHZ
Example ¶
strings := []string{"", "Foo", "_foo", "fooBar", "foo-bar"}
for _, v := range strings {
s := Capitalize(v)
fmt.Println(s)
}
Output: Foo _foo Foobar Foo-bar
func IsString ¶
IsString check if the value data type is string or not. Play: https://go.dev/play/p/IOgq7oF9ERm
Example ¶
result1 := IsString("")
result2 := IsString("a")
result3 := IsString(1)
result4 := IsString(true)
result5 := IsString([]string{"a"})
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
fmt.Println(result5)
Output: true true false false false
func KebabCase ¶
KebabCase coverts string to kebab-case, non letters and numbers will be ignored. Play: https://go.dev/play/p/dcZM9Oahw-Y
Example ¶
strings := []string{"", "foo-bar", "Foo Bar-", "FOOBAR", "Foo-#1😄$_%^&*(1bar"}
for _, v := range strings {
s := KebabCase(v)
fmt.Println(s)
}
Output: foo-bar foo-bar foobar foo-1-1-bar
func LowerFirst ¶
LowerFirst converts the first character of string to lower case. Play: https://go.dev/play/p/CbzAyZmtJwL
Example ¶
strings := []string{"", "bar", "BAr", "Bar大"}
for _, v := range strings {
s := LowerFirst(v)
fmt.Println(s)
}
Output: bar bAr bar大
func PadEnd ¶
PadEnd pads string on the right side if it's shorter than size. Padding characters are truncated if they exceed size. Play: https://go.dev/play/p/9xP8rN0vz--
Example ¶
result1 := PadEnd("foo", 1, "bar")
result2 := PadEnd("foo", 2, "bar")
result3 := PadEnd("foo", 3, "bar")
result4 := PadEnd("foo", 4, "bar")
result5 := PadEnd("foo", 5, "bar")
result6 := PadEnd("foo", 6, "bar")
result7 := PadEnd("foo", 7, "bar")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
fmt.Println(result5)
fmt.Println(result6)
fmt.Println(result7)
Output: foo foo foo foob fooba foobar foobarb
func PadStart ¶
PadStart pads string on the left side if it's shorter than size. Padding characters are truncated if they exceed size. Play: https://go.dev/play/p/xpTfzArDfvT
Example ¶
result1 := PadStart("foo", 1, "bar")
result2 := PadStart("foo", 2, "bar")
result3 := PadStart("foo", 3, "bar")
result4 := PadStart("foo", 4, "bar")
result5 := PadStart("foo", 5, "bar")
result6 := PadStart("foo", 6, "bar")
result7 := PadStart("foo", 7, "bar")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
fmt.Println(result5)
fmt.Println(result6)
fmt.Println(result7)
Output: foo foo foo bfoo bafoo barfoo barbfoo
func Reverse ¶
Reverse returns string whose char order is reversed to the given string. Play: https://go.dev/play/p/adfwalJiecD
Example ¶
s := "foo" rs := Reverse(s) fmt.Println(s) fmt.Println(rs)
Output: foo oof
func SnakeCase ¶
SnakeCase coverts string to snake_case, non letters and numbers will be ignored Play: https://go.dev/play/p/tgzQG11qBuN
Example ¶
strings := []string{"", "foo-bar", "Foo Bar-", "FOOBAR", "Foo-#1😄$_%^&*(1bar"}
for _, v := range strings {
s := SnakeCase(v)
fmt.Println(s)
}
Output: foo_bar foo_bar foobar foo_1_1_bar
func SplitEx ¶
SplitEx split a given string which can control the result slice contains empty string or not. Play: https://go.dev/play/p/Us-ySSbWh-3
Example ¶
result1 := SplitEx(" a b c ", "", true)
result2 := SplitEx(" a b c ", " ", false)
result3 := SplitEx(" a b c ", " ", true)
result4 := SplitEx("a = b = c = ", " = ", false)
result5 := SplitEx("a = b = c = ", " = ", true)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
fmt.Println(result5)
Output: [] [ a b c ] [a b c] [a b c ] [a b c]
func Substring ¶
Substring returns a substring of the specified length starting at the specified offset position. Play: Todo
Example ¶
result1 := Substring("abcde", 1, 3)
result2 := Substring("abcde", 1, 5)
result3 := Substring("abcde", -1, 3)
result4 := Substring("abcde", -2, 2)
result5 := Substring("abcde", -2, 3)
result6 := Substring("你好,欢迎你", 0, 2)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
fmt.Println(result5)
fmt.Println(result6)
Output: bcd bcde e de de 你好
func Unwrap ¶
Unwrap a given string from anther string. will change source string. Play: https://go.dev/play/p/Ec2q4BzCpG-
Example ¶
result1 := Unwrap("foo", "")
result2 := Unwrap("*foo*", "*")
result3 := Unwrap("*foo", "*")
result4 := Unwrap("foo*", "*")
result5 := Unwrap("**foo**", "*")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
fmt.Println(result5)
Output: foo foo *foo foo* *foo*
func UpperFirst ¶
UpperFirst converts the first character of string to upper case. Play: https://go.dev/play/p/sBbBxRbs8MM
Example ¶
strings := []string{"", "bar", "BAr", "bar大"}
for _, v := range strings {
s := UpperFirst(v)
fmt.Println(s)
}
Output: Bar BAr Bar大
func UpperKebabCase ¶
UpperKebabCase coverts string to upper KEBAB-CASE, non letters and numbers will be ignored Play: https://go.dev/play/p/zDyKNneyQXk
Example ¶
strings := []string{"", "foo-bar", "Foo Bar-", "FooBAR", "Foo-#1😄$_%^&*(1bar"}
for _, v := range strings {
s := UpperKebabCase(v)
fmt.Println(s)
}
Output: FOO-BAR FOO-BAR FOO-BAR FOO-1-1-BAR
func UpperSnakeCase ¶
UpperSnakeCase coverts string to upper SNAKE_CASE, non letters and numbers will be ignored Play: https://go.dev/play/p/4COPHpnLx38
Example ¶
strings := []string{"", "foo-bar", "Foo Bar-", "FooBAR", "Foo-#1😄$_%^&*(1bar"}
for _, v := range strings {
s := UpperSnakeCase(v)
fmt.Println(s)
}
Output: FOO_BAR FOO_BAR FOO_BAR FOO_1_1_BAR
func Wrap ¶
Wrap a string with given string. Play: https://go.dev/play/p/KoZOlZDDt9y
Example ¶
result1 := Wrap("foo", "")
result2 := Wrap("foo", "*")
result3 := Wrap("'foo'", "'")
result4 := Wrap("", "*")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
Output: foo *foo* ''foo''
Types ¶
This section is empty.