From 041ebacb8ccb699cd5aaaeea42daef1e10b933c7 Mon Sep 17 00:00:00 2001
From: iamyl <57165465@qq.com>
Date: Fri, 5 Nov 2021 01:20:18 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0gstr=E5=8C=85=E7=9A=84?=
=?UTF-8?q?=E5=AE=9E=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
text/gstr/gstr_z_example_test.go | 1538 ++++++++++++++++++++++++++++++
1 file changed, 1538 insertions(+)
create mode 100644 text/gstr/gstr_z_example_test.go
diff --git a/text/gstr/gstr_z_example_test.go b/text/gstr/gstr_z_example_test.go
new file mode 100644
index 000000000..0bbfc8415
--- /dev/null
+++ b/text/gstr/gstr_z_example_test.go
@@ -0,0 +1,1538 @@
+package gstr
+
+import (
+ "fmt"
+
+ "github.com/gogf/gf/text/gstr"
+)
+
+func ExampleAddSlashes() {
+ var str string
+ str = `'aa'"bb"cc\r\n\d\t`
+ rsStr := gstr.AddSlashes(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // \'aa\'\"bb\"cc\\r\\n\\d\\t
+}
+
+func ExampleCaseCamel() {
+ var str string
+ str = `goframe_is very nice.to-use`
+ rsStr := gstr.CaseCamel(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // GoframeIsVeryNiceToUse
+}
+
+func ExampleCaseCamelLower() {
+ var str string
+ str = `goframe_is very nice.to-use`
+ rsStr := gstr.CaseCamelLower(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframeIsVeryNiceToUse
+}
+
+func ExampleCaseDelimited() {
+ var str string
+ var del uint8
+ str = `goframe_is_very-nice.to-use`
+ del = 35
+ rsStr := gstr.CaseDelimited(str, del)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe#is#very#nice#to#use
+}
+
+func ExampleCaseDelimitedScreaming() {
+ var str string
+ var del uint8
+ var screaming bool
+ str = `goframe_is Very Nice.to-use`
+ del = 35
+ screaming = true
+ rsStr := gstr.CaseDelimitedScreaming(str, del, screaming)
+ fmt.Println(rsStr)
+
+ // Output:
+ // GOFRAME#IS#VERY#NICE#TO#USE
+}
+
+func ExampleCaseKebab() {
+ var str string
+ str = `goframe_is Very Nice.to-use`
+ rsStr := gstr.CaseKebab(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe-is-very-nice-to-use
+}
+
+func ExampleCaseKebabScreaming() {
+ var str string
+ str = `goframe_is Very Nice.to-use`
+ rsStr := gstr.CaseKebabScreaming(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // GOFRAME-IS-VERY-NICE-TO-USE
+}
+
+func ExampleCaseSnake() {
+ var str string
+ str = `goframe_is Very Nice.to-use`
+ rsStr := gstr.CaseSnake(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe_is_very_nice_to_use
+}
+
+func ExampleCaseSnakeFirstUpper() {
+ var str string
+ str = `GoframeIsVeryNiceToUse`
+ rsStr := gstr.CaseSnakeFirstUpper(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe_is_very_nice_to_use
+}
+
+func ExampleCaseSnakeScreaming() {
+ var str string
+ str = `goframe_is Very Nice.to-use`
+ rsStr := gstr.CaseSnakeScreaming(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // GOFRAME_IS_VERY_NICE_TO_USE
+}
+
+func ExampleChr() {
+ var ascii int
+ ascii = 65
+ rsStr := gstr.Chr(ascii)
+ fmt.Println(rsStr)
+
+ // Output:
+ // A
+}
+
+func ExampleChunkSplit() {
+ var body string
+ var chunkLen int
+ var end string
+ body = `1234`
+ chunkLen = 2
+ end = "#"
+ rsStr := gstr.ChunkSplit(body, chunkLen, end)
+ fmt.Println(rsStr)
+
+ body = `我爱Goframe`
+ chunkLen = 1
+ end = "-"
+ rsStr = gstr.ChunkSplit(body, chunkLen, end)
+ fmt.Println(rsStr)
+
+ body = `1234`
+ chunkLen = 1
+ end = ""
+ rsStr = gstr.ChunkSplit(body, chunkLen, end)
+ fmt.Println(rsStr)
+
+ // May Output:
+ // 12#34#
+ // 我-爱-G-o-f-r-a-m-e-
+ // "1\r\n2\r\n3\r\n4\r\n"
+}
+
+func ExampleCompare() {
+ var a string
+ var b string
+
+ a = "C"
+ b = "C"
+ rsStr := gstr.Compare(a, b)
+ fmt.Println(rsStr)
+
+ a = "A"
+ b = "B"
+ rsStr = gstr.Compare(a, b)
+ fmt.Println(rsStr)
+
+ a = "C"
+ b = "B"
+ rsStr = gstr.Compare(a, b)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 0
+ // -1
+ // 1
+}
+
+func ExampleCompareVersion() {
+ var a string
+ var b string
+
+ a = "v2.11.9"
+ b = "v2.10.8"
+
+ rsStr := gstr.CompareVersion(a, b)
+ fmt.Println(rsStr)
+
+ a = "A.10.8"
+ b = "A.19.7"
+ rsStr = gstr.CompareVersion(a, b)
+ fmt.Println(rsStr)
+
+ a = "2.8.beta"
+ b = "2.8"
+ rsStr = gstr.CompareVersion(a, b)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 1
+ // -1
+ // 0
+}
+
+func ExampleCompareVersionGo() {
+ var a string
+ var b string
+
+ a = "v2.11.9"
+ b = "v2.10.8"
+ rsStr := gstr.CompareVersionGo(a, b)
+ fmt.Println(rsStr)
+
+ a = "v0.0.2-20180626092158-b2ccc119800e"
+ b = "v1.0.1-20190626092158-b2ccc519800e"
+ rsStr = gstr.CompareVersionGo(a, b)
+ fmt.Println(rsStr)
+
+ a = "v4.20.1"
+ b = "v4.20.1+incompatible"
+ rsStr = gstr.CompareVersionGo(a, b)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 1
+ // -1
+ // 0
+}
+
+func ExampleContains() {
+ var str, substr string
+ str = `goframe_is Very Nice.to-use`
+ substr = `goframe`
+ rsStr := gstr.Contains(str, substr)
+ fmt.Println(rsStr)
+
+ substr = `Goframe`
+ rsStr = gstr.Contains(str, substr)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // false
+}
+
+func ExampleContainsAny() {
+ var s, chars string
+ s = `goframe_is Very Nice.to-use`
+ chars = "g"
+ rsStr := gstr.ContainsAny(s, chars)
+ fmt.Println(rsStr)
+
+ chars = "G"
+ rsStr = gstr.ContainsAny(s, chars)
+ fmt.Println(rsStr)
+
+ chars = "Nice"
+ rsStr = gstr.ContainsAny(s, chars)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // false
+ // true
+}
+
+func ExampleContainsI() {
+ var str, substr string
+ str = `goframe_is Very Nice.to-use`
+
+ substr = "go"
+ rsStr := gstr.ContainsI(str, substr)
+ fmt.Println(rsStr)
+
+ substr = "Go"
+ rsStr = gstr.ContainsI(str, substr)
+ fmt.Println(rsStr)
+
+ substr = "Golang"
+ rsStr = gstr.ContainsI(str, substr)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // true
+ // false
+}
+
+func ExampleCount() {
+ var str, substr string
+ str = `goframe_is Very Nice.to-use`
+
+ substr = "goframe"
+ rsStr := gstr.Count(str, substr)
+ fmt.Println(rsStr)
+
+ substr = "golang"
+ rsStr = gstr.Count(str, substr)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 1
+ // 0
+}
+
+func ExampleCountChars() {
+ var str string
+ var noSpace bool
+ str = `goframe_is Very Nice.to-use`
+
+ rsStr := gstr.CountChars(str)
+ fmt.Println(rsStr)
+
+ noSpace = true
+ rsStr = gstr.CountChars(str, noSpace)
+ fmt.Println(rsStr)
+
+ // Output:
+ // map[ :2 -:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1]
+ // map[-:1 .:1 N:1 V:1 _:1 a:1 c:1 e:4 f:1 g:1 i:2 m:1 o:2 r:2 s:2 t:1 u:1 y:1]
+}
+
+func ExampleCountI() {
+ var s, substr string
+ s = `goframe_is Very Nice.to-use`
+
+ substr = "goframe"
+ rsStr := gstr.CountI(s, substr)
+ fmt.Println(rsStr)
+
+ substr = "golang"
+ rsStr = gstr.CountI(s, substr)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 1
+ // 0
+}
+
+func ExampleCountWords() {
+ var str string
+ str = `goframe is Very Nice to use ! goframe Very Nice !`
+ rsStr := gstr.CountWords(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // map[!:2 Nice:2 Very:2 goframe:2 is:1 to:1 use:1]
+}
+
+func ExampleEqual() {
+ var a, b string
+ a = `A`
+ b = `a`
+ rsStr := gstr.Equal(a, b)
+ fmt.Println(rsStr)
+
+ a = `A`
+ b = `B`
+ rsStr = gstr.Equal(a, b)
+ fmt.Println(rsStr)
+
+ a = `C`
+ b = `B`
+ rsStr = gstr.Equal(a, b)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // false
+ // false
+}
+
+func ExampleExplode() {
+ var delimiter, str string
+ str = `goframe_is_Very_Nice_to_use`
+ delimiter = "_"
+ rsStr := gstr.Explode(delimiter, str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // [goframe is Very Nice to use]
+}
+
+func ExampleFields() {
+ var str string
+ str = `goframe is Very Nice to-use`
+ rsStr := gstr.Fields(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // [goframe is Very Nice to-use]
+}
+
+func ExampleHasPrefix() {
+ var s, prefix string
+ s = `goframe_is Very Nice.to-use`
+
+ prefix = "goframe"
+ rsStr := gstr.HasPrefix(s, prefix)
+ fmt.Println(rsStr)
+
+ prefix = "Goframe"
+ rsStr = gstr.HasPrefix(s, prefix)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // false
+}
+
+func ExampleHasSuffix() {
+ var s, prefix string
+ s = `goframe_is Very Nice.to-use`
+
+ prefix = "use"
+ rsStr := gstr.HasSuffix(s, prefix)
+ fmt.Println(rsStr)
+
+ prefix = "Use"
+ rsStr = gstr.HasSuffix(s, prefix)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // false
+}
+
+func ExampleHideStr() {
+ var str string
+ var percent int
+ var hide string
+
+ str = `1234567890`
+ percent = 30
+ hide = `@`
+ rsStr := gstr.HideStr(str, percent, hide)
+ fmt.Println(rsStr)
+
+ str = `AAAAAAAAAA`
+ percent = 60
+ hide = `@`
+ rsStr = gstr.HideStr(str, percent, hide)
+ fmt.Println(rsStr)
+
+ str = `ABCDEFGHIJ`
+ percent = 10
+ hide = `@`
+ rsStr = gstr.HideStr(str, percent, hide)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 1234@@@890
+ // AA@@@@@@AA
+ // ABCDE@GHIJ
+}
+
+func ExampleImplode() {
+ var glue string
+ var pieces []string
+ pieces = []string{"goframe", "is", "Very", "Nice", "to", "use"}
+ glue = "-"
+ rsStr := gstr.Implode(glue, pieces)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe-is-Very-Nice-to-use
+}
+
+func ExampleInArray() {
+ var a []string
+ var s string
+ a = []string{"goframe", "is", "Very", "Nice", "to", "use"}
+ s = "goframe"
+ rsStr := gstr.InArray(a, s)
+ fmt.Println(rsStr)
+
+ s = "golang"
+ rsStr = gstr.InArray(a, s)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // false
+}
+
+func ExampleIsLetterLower() {
+ var b byte
+ b = 65 // In ASCII is "a"
+ rsStr := gstr.IsLetterLower(b)
+ fmt.Println(rsStr)
+
+ b = 97 // In ASCII is "A"
+ rsStr = gstr.IsLetterLower(b)
+ fmt.Println(rsStr)
+
+ // Output:
+ // false
+ // true
+}
+
+func ExampleIsLetterUpper() {
+ var b byte
+ b = 65 // In ASCII is "a"
+ rsStr := gstr.IsLetterUpper(b)
+ fmt.Println(rsStr)
+
+ b = 97 // In ASCII is "A"
+ rsStr = gstr.IsLetterUpper(b)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // false
+}
+
+func ExampleIsNumeric() {
+ var s string
+
+ s = "88"
+ rsStr := gstr.IsNumeric(s)
+ fmt.Println(rsStr)
+
+ s = "aa66bb88"
+ rsStr = gstr.IsNumeric(s)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // false
+}
+
+func ExampleIsSubDomain() {
+ var subDomain, mainDomain string
+
+ subDomain = `s.goframe.org`
+ mainDomain = `goframe.org`
+ rsStr := gstr.IsSubDomain(subDomain, mainDomain)
+ fmt.Println(rsStr)
+
+ subDomain = `s.s.goframe.org`
+ mainDomain = `goframe.org`
+ rsStr = gstr.IsSubDomain(subDomain, mainDomain)
+ fmt.Println(rsStr)
+
+ subDomain = `s.s.goframe.org`
+ mainDomain = `*goframe.org`
+ rsStr = gstr.IsSubDomain(subDomain, mainDomain)
+ fmt.Println(rsStr)
+
+ // Output:
+ // true
+ // true
+ // false
+}
+
+func ExampleJoin() {
+ var array []string
+ var sep string
+
+ array = []string{"goframe", "is", "Very", "Nice", "to", "use"}
+ sep = `,`
+ rsStr := gstr.Join(array, sep)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe,is,Very,Nice,to,use
+}
+
+func ExampleJoinAny() {
+ var sep string
+
+ sep = `@`
+ arr1 := []string{"goframe", "is", "Very", "Nice", "to", "use"}
+ rsStr := gstr.JoinAny(arr1, sep)
+ fmt.Println(rsStr)
+
+ sep = `|`
+ type StructA struct {
+ Name string
+ Age int
+ }
+ arr2 := []StructA{
+ {"Mary", 18},
+ {"Jack", 18},
+ {"Lucy", 18},
+ }
+ rsStr = gstr.JoinAny(arr2, sep)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe@is@Very@Nice@to@use
+ // {"Name":"Mary","Age":18}|{"Name":"Jack","Age":18}|{"Name":"Lucy","Age":18}
+}
+
+func ExampleLcFirst() {
+ var str string
+ str = `Goframe`
+ rsStr := gstr.LcFirst(str)
+ fmt.Println(rsStr)
+
+ str = `Goframe is Very Nice to use.`
+ rsStr = gstr.LcFirst(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe
+ // goframe is Very Nice to use.
+}
+
+func ExampleLenRune() {
+ var str string
+ str = `goframe is Very Nice to use`
+ rsStr := gstr.LenRune(str)
+ fmt.Println(rsStr)
+
+ str = `123 4567 890`
+ rsStr = gstr.LenRune(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 27
+ // 12
+}
+
+func ExampleLevenshtein() {
+ var str1, str2 string
+ var costIns, costRep, costDel int
+ str1 = "Hello World"
+ str2 = "ello World"
+
+ costIns = 1
+ costRep = 1
+ costDel = 1
+ rsStr := gstr.Levenshtein(str1, str2, costIns, costRep, costDel)
+ fmt.Println(rsStr)
+
+ str1 = "Hello World"
+ str2 = "ello Worles"
+ costIns = 10
+ costRep = 20
+ costDel = 30
+ rsStr = gstr.Levenshtein(str1, str2, costIns, costRep, costDel)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 1
+ // 60
+}
+
+func ExampleNl2Br() {
+ var str string
+ str = `goframe
+is
+Very
+Nice
+to
+use`
+ rsStr := gstr.Nl2Br(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe
is
Very
Nice
to
use
+}
+
+func ExampleNumberFormat() {
+ var number float64
+ var decimals int
+ var decPoint string
+ var thousandsSep string
+
+ number = 123456
+ decimals = 2
+ decPoint = "."
+ thousandsSep = ","
+ rsStr := gstr.NumberFormat(number, decimals, decPoint, thousandsSep)
+ fmt.Println(rsStr)
+
+ number = 1234.56
+ decimals = 1
+ decPoint = ","
+ thousandsSep = " "
+ rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep)
+ fmt.Println(rsStr)
+
+ number = 1234.5678
+ decimals = 3
+ decPoint = "."
+ thousandsSep = ","
+ rsStr = gstr.NumberFormat(number, decimals, decPoint, thousandsSep)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 123,456.00
+ // 1 234,6
+ // 1,234.568
+}
+
+func ExampleOctStr() {
+ var str string
+ str = `\346\200\241`
+ rsStr := gstr.OctStr(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 怡
+}
+
+func ExampleOrd() {
+ var str string
+ str = `goframe`
+ rsStr := gstr.Ord(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 103
+}
+
+func ExampleParse() {
+ var str string
+
+ str = `v1=m&v2=n`
+ rsStr, _ := gstr.Parse(str)
+ fmt.Println(rsStr)
+
+ str = `v[a][a]=m&v[a][b]=n`
+ rsStr, _ = gstr.Parse(str)
+ fmt.Println(rsStr)
+
+ // 目前不支持嵌套切片。
+ str = `v[][]=m&v[][]=n`
+ rsStr, err := gstr.Parse(str)
+ if err != nil {
+ fmt.Println("Error:", err)
+ }
+ fmt.Println(rsStr)
+
+ // 会产生错误
+ str = `v=m&v[a]=n`
+ rsStr, err = gstr.Parse(str)
+ if err != nil {
+ fmt.Println("Error:", err)
+ }
+ fmt.Println(rsStr)
+
+ str = `a .[[b=c`
+ rsStr, _ = gstr.Parse(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // map[v1:m v2:n]
+ // map[v:map[a:map[a:m b:n]]]
+ // map[v:map[]]
+ // Error: expected type 'map[string]interface{}' for key 'v', but got 'string'
+ // map[]
+ // map[a___[b:c]
+}
+
+func ExamplePos() {
+ var haystack, needle string
+ var startOffset int
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `Nice`
+ rsStr := gstr.Pos(haystack, needle)
+ fmt.Println(rsStr)
+
+ startOffset = 16
+ rsStr = gstr.Pos(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ startOffset = 17
+ rsStr = gstr.Pos(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ needle = `nice`
+ rsStr = gstr.Pos(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 16
+ // 16
+ // -1
+ // -1
+}
+
+func ExamplePosI() {
+ var haystack, needle string
+ var startOffset int
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `Nice`
+ rsStr := gstr.PosI(haystack, needle)
+ fmt.Println(rsStr)
+
+ startOffset = 16
+ rsStr = gstr.PosI(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ startOffset = 17
+ rsStr = gstr.PosI(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ needle = `nice`
+ rsStr = gstr.PosI(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 16
+ // 16
+ // -1
+ // 16
+}
+
+func ExamplePosIRune() {
+ var haystack, needle string
+ var startOffset int
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `Nice`
+ rsStr := gstr.PosIRune(haystack, needle)
+ fmt.Println(rsStr)
+
+ startOffset = 16
+ rsStr = gstr.PosIRune(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ startOffset = 17
+ rsStr = gstr.PosIRune(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ needle = `nice`
+ rsStr = gstr.PosIRune(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 16
+ // 16
+ // -1
+ // 16
+}
+
+func ExamplePosR() {
+ var haystack, needle string
+ var startOffset int
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `Nice`
+ rsStr := gstr.PosR(haystack, needle)
+ fmt.Println(rsStr)
+
+ startOffset = 16
+ rsStr = gstr.PosR(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ startOffset = 17
+ rsStr = gstr.PosR(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ needle = `nice`
+ rsStr = gstr.PosR(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 16
+ // 16
+ // -1
+ // -1
+}
+
+func ExamplePosRI() {
+ var haystack, needle string
+ var startOffset int
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `Nice`
+ rsStr := gstr.PosRI(haystack, needle)
+ fmt.Println(rsStr)
+
+ startOffset = 16
+ rsStr = gstr.PosRI(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ startOffset = 17
+ rsStr = gstr.PosRI(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ needle = `nice`
+ rsStr = gstr.PosRI(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 16
+ // 16
+ // -1
+ // 16
+
+}
+
+func ExamplePosRIRune() {
+ var haystack, needle string
+ var startOffset int
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `Nice`
+ rsStr := gstr.PosRIRune(haystack, needle)
+ fmt.Println(rsStr)
+
+ startOffset = 16
+ rsStr = gstr.PosRIRune(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ startOffset = 17
+ rsStr = gstr.PosRIRune(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ needle = `nice`
+ rsStr = gstr.PosRIRune(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 16
+ // 16
+ // -1
+ // 16
+}
+
+func ExamplePosRRune() {
+ var haystack, needle string
+ var startOffset int
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `Nice`
+ rsStr := gstr.PosRRune(haystack, needle)
+ fmt.Println(rsStr)
+
+ startOffset = 16
+ rsStr = gstr.PosRRune(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ startOffset = 17
+ rsStr = gstr.PosRRune(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ needle = `nice`
+ rsStr = gstr.PosRRune(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 16
+ // 16
+ // -1
+ // -1
+}
+
+func ExamplePosRune() {
+ var haystack, needle string
+ var startOffset int
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `Nice`
+ rsStr := gstr.PosRune(haystack, needle)
+ fmt.Println(rsStr)
+
+ startOffset = 16
+ rsStr = gstr.PosRune(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ startOffset = 17
+ rsStr = gstr.PosRune(haystack, needle, startOffset)
+ fmt.Println(rsStr)
+
+ needle = `nice`
+ rsStr = gstr.PosRune(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 16
+ // 16
+ // -1
+ // -1
+}
+
+func ExampleQuoteMeta() {
+ var str string
+ str = `.\+?[^]()`
+ rsStr := gstr.QuoteMeta(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // \.\\\+\?\[\^\]\(\)
+
+}
+
+func ExampleRepeat() {
+ var input string
+ var multiplier int
+ input = `goframe `
+ multiplier = 3
+ rsStr := gstr.Repeat(input, multiplier)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe goframe goframe
+}
+
+func ExampleReplace() {
+ var origin, search, replace string
+ var count int
+
+ origin = `goframe_is_Very_Nice_to_use!`
+ search = `_`
+ replace = `+`
+ rsStr := gstr.Replace(origin, search, replace)
+ fmt.Println(rsStr)
+
+ count = 2
+ rsStr = gstr.Replace(origin, search, replace, count)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe+is+Very+Nice+to+use!
+ // goframe+is+Very_Nice_to_use!
+}
+
+func ExampleReplaceByArray() {
+ var origin string
+ var array []string
+
+ origin = `Golang is Very Good`
+
+ array = []string{"o", "O"}
+ rsStr := gstr.ReplaceByArray(origin, array)
+ fmt.Println(rsStr)
+
+ array = []string{"Golang", "Goframe", "Good", "Nice"}
+ rsStr = gstr.ReplaceByArray(origin, array)
+ fmt.Println(rsStr)
+
+ // Output:
+ // GOlang is Very GOOd
+ // Goframe is Very Nice
+}
+
+func ExampleReplaceByMap() {
+ var origin string
+ var replaces map[string]string
+
+ origin = `Golang is Very Good`
+
+ replaces = map[string]string{
+ "Golang": "Goframe",
+ "Good": "Nice",
+ }
+ rsStr := gstr.ReplaceByMap(origin, replaces)
+ fmt.Println(rsStr)
+
+ replaces = map[string]string{
+ "golang": "Goframe",
+ "good": "Nice",
+ }
+ rsStr = gstr.ReplaceByMap(origin, replaces)
+ fmt.Println(rsStr)
+
+ // Output:
+ // Goframe is Very Nice
+ // Golang is Very Good
+}
+
+func ExampleReplaceI() {
+ var origin, search, replace string
+ var count int
+ origin = `goframe_is Very Nice.to-use`
+ search = `goframe`
+ replace = `golang`
+ count = 3
+ rsStr := gstr.ReplaceI(origin, search, replace, count)
+ fmt.Println(rsStr)
+
+ // Output:
+ //
+}
+
+func ExampleReplaceIByArray() {
+ var origin string
+ var replaces []string
+ replaces = []string{
+ "frame",
+ "lang",
+ "nice",
+ "goframe",
+ }
+ origin = `goframe Nice`
+ rsStr := gstr.ReplaceIByArray(origin, replaces)
+ fmt.Println(rsStr)
+
+ // Output:
+ // golang goframe
+}
+
+func ExampleReplaceIByMap() {
+ var origin string
+ var replaces map[string]string
+
+ origin = `Golang is Very Good`
+
+ replaces = map[string]string{
+ "Golang": "Goframe",
+ "Good": "Nice",
+ }
+ rsStr := gstr.ReplaceIByMap(origin, replaces)
+ fmt.Println(rsStr)
+
+ replaces = map[string]string{
+ "golang": "Goframe",
+ "good": "Nice",
+ }
+ rsStr = gstr.ReplaceIByMap(origin, replaces)
+ fmt.Println(rsStr)
+
+ // Output:
+ // Goframe is Very Nice
+ // Goframe is Very Nice
+}
+
+func ExampleReverse() {
+ var str string
+ str = `Goframe-Nice`
+ rsStr := gstr.Reverse(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // eciN-emarfoG
+}
+
+func ExampleSearchArray() {
+ var a []string
+ var s string
+ a = []string{
+ "goframe",
+ "is",
+ "Very",
+ "Nice",
+ }
+ s = `goframe`
+ rsStr := gstr.SearchArray(a, s)
+ fmt.Println(rsStr)
+
+ s = `Very`
+ rsStr = gstr.SearchArray(a, s)
+ fmt.Println(rsStr)
+
+ s = `use`
+ rsStr = gstr.SearchArray(a, s)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 0
+ // 2
+ // -1
+}
+
+func ExampleShuffle() {
+ var str string
+ str = `goframe_is Nice.`
+ rsStr := gstr.Shuffle(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // frg.omeie sa_cNi
+}
+
+func ExampleSimilarText() {
+ var first, second string
+ var percent *float64
+ first = `goframe_is`
+ second = `go-nice`
+ rsStr := gstr.SimilarText(first, second, percent)
+ fmt.Println(rsStr)
+
+ // Output:
+ // 3
+}
+
+func ExampleSoundex() {
+ var str string
+ var str2 string
+ str = `Euler`
+ str2 = `Ellery`
+ rsStr := gstr.Soundex(str)
+ rsStr2 := gstr.Soundex(str2)
+ fmt.Println(rsStr, rsStr2)
+
+ str = `Gauss`
+ str2 = `Ghosh`
+ rsStr = gstr.Soundex(str)
+ rsStr2 = gstr.Soundex(str2)
+ fmt.Println(rsStr, rsStr2)
+
+ str = `Lloyd`
+ str2 = `Ladd`
+ rsStr = gstr.Soundex(str)
+ rsStr2 = gstr.Soundex(str2)
+ fmt.Println(rsStr, rsStr2)
+
+ // Output:
+ // E406 E406
+ // G020 G020
+ // L030 L030
+}
+
+func ExampleSplit() {
+ var str, delimiter string
+ str = `GoFrame_Nice`
+ delimiter = `ame_N`
+ rsStr := gstr.Split(str, delimiter)
+ fmt.Println(rsStr)
+
+ // Output:
+ // [GoFr ice]
+}
+
+func ExampleSplitAndTrim() {
+ var str, delimiter, characterMask string
+ str = ` goframe, is, Very ,Nice ,to, use`
+ delimiter = `,`
+ characterMask = ` `
+ rsStr := gstr.SplitAndTrim(str, delimiter, characterMask)
+ fmt.Println(rsStr)
+
+ // Output:
+ // [goframe is Very Nice to use]
+}
+
+func ExampleStr() {
+ var haystack, needle string
+ haystack = `goframe nice`
+ needle = `fram`
+ rsStr := gstr.Str(haystack, needle)
+ fmt.Println(rsStr)
+
+ needle = `ame n`
+ rsStr = gstr.Str(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // me nice
+ // nice
+}
+
+func ExampleStrEx() {
+ var haystack, needle string
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `goframe`
+ rsStr := gstr.StrEx(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // _is Very Nice.to-use
+}
+
+func ExampleStrLimit() {
+ var str, suffix string
+ var length int
+ str = `goframe_is Very Nice.to-use`
+ length = 8
+ suffix = "suffix"
+ rsStr := gstr.StrLimit(str, length, suffix)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe_suffix
+}
+
+func ExampleStrLimitRune() {
+ var str, suffix string
+ var length int
+ str = `goframe_is Very Nice.to-use`
+ length = 7
+ suffix = "suffix"
+ rsStr := gstr.StrLimitRune(str, length, suffix)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframesuffix
+}
+
+func ExampleStrTill() {
+ var haystack, needle string
+
+ haystack = `ABCDEFGHIJKLMN`
+ needle = `C`
+ rsStr := gstr.StrTill(haystack, needle)
+ fmt.Println(rsStr)
+
+ needle = `E`
+ rsStr = gstr.StrTill(haystack, needle)
+ fmt.Println(rsStr)
+
+ needle = `G`
+ rsStr = gstr.StrTill(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // ABC
+ // ABCDE
+ // ABCDEFG
+}
+
+func ExampleStrTillEx() {
+ var haystack, needle string
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `frame`
+ rsStr := gstr.StrTillEx(haystack, needle)
+ fmt.Println(rsStr)
+
+ haystack = `goframe_is Very Nice.to-use`
+ needle = `to`
+ rsStr = gstr.StrTillEx(haystack, needle)
+ fmt.Println(rsStr)
+
+ // Output:
+ // go
+ // goframe_is Very Nice.
+}
+
+func ExampleStripSlashes() {
+ var str string
+ str = `goframe "is" Very Nice to use`
+ rsStr := gstr.StripSlashes(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ //
+}
+
+func ExampleSubStr() {
+ var str string
+ var start, length int
+ str = `GoFrame Nice`
+ start = 0
+ length = 2
+ subStr := gstr.SubStr(str, start, length)
+ fmt.Println(subStr)
+
+ str = `GoFrame Nice`
+ start = 5
+ length = 6
+ subStr = gstr.SubStr(str, start, length)
+ fmt.Println(subStr)
+
+ // Output:
+ // Go
+ // me Nic
+}
+
+func ExampleSubStrRune() {
+ var str string
+ var start, length int
+ str = `GoFrame Nice`
+ start = 5
+ length = 4
+ subStr := gstr.SubStrRune(str, start, length)
+ fmt.Println(subStr)
+
+ // Output:
+ // me N
+}
+
+func ExampleToLower() {
+ var s string
+ s = `GoFRAME_IS VERY NICE.TO-USE`
+ rsStr := gstr.ToLower(s)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe_is very nice.to-use
+}
+
+func ExampleToUpper() {
+ var s string
+ s = `goframe_is Very Nice.to-use`
+ rsStr := gstr.ToUpper(s)
+ fmt.Println(rsStr)
+
+ // Output:
+ // GOFRAME_IS VERY NICE.TO-USE
+}
+
+func ExampleTrim() {
+ var str, characterMask string
+ str = `goframe_is Very Nice.to-use`
+ characterMask = "to-use"
+ rsStr := gstr.Trim(str, characterMask)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe_is Very Nice.
+}
+
+func ExampleTrimAll() {
+ var str, characterMask string
+ str = `goframe`
+ characterMask = "g o e"
+ rsStr := gstr.TrimAll(str, characterMask)
+ fmt.Println(rsStr)
+
+ // Output:
+ // fram
+}
+
+func ExampleTrimLeft() {
+ var str, characterMask string
+ str = ` goframe is Very Nice to use`
+ characterMask = "goframeisVery"
+ rsStr := gstr.TrimLeft(str, characterMask)
+ fmt.Println(rsStr)
+
+ // Output:
+ // Nice to use
+}
+
+func ExampleTrimLeftStr() {
+ var str, cut string
+ var count int
+ str = ` goframe is Very Nice.to-use`
+ cut = " go"
+ count = 1
+ rsStr := gstr.TrimLeftStr(str, cut, count)
+ fmt.Println(rsStr)
+
+ // Output:
+ // frame is Very Nice.to-use
+}
+
+func ExampleTrimRight() {
+ var str, characterMask string
+ str = `goframe_is Very Nice to use `
+ rsStr := gstr.TrimRight(str)
+ fmt.Println(rsStr)
+
+ str = `goframe_is Very Nice to-use `
+ characterMask = "to-use" // []byte{"t", "o", "-", "u", "s", "e"}
+ rsStr = gstr.TrimRight(str, characterMask)
+ fmt.Println(rsStr)
+
+ // Output:
+ // goframe_is Very Nice to use
+ // goframe_is Very Nic
+}
+
+func ExampleTrimRightStr() {
+ var str, cut string
+ var count int
+ str = `aaa,bbb,ccc,ddd,eee,`
+ cut = ","
+ count = 1
+ rsStr := gstr.TrimRightStr(str, cut, count)
+ fmt.Println(rsStr)
+
+ str = `aaa,bbb,ccc,ddd,eee,,,,,`
+ cut = ","
+ count = -1
+ rsStr = gstr.TrimRightStr(str, cut, count)
+ fmt.Println(rsStr)
+
+ str = `aaa,bbb,ccc,ddd,eee,,,,, `
+ cut = ","
+ count = -1
+ rsStr = gstr.TrimRightStr(str, cut, count)
+ fmt.Println(rsStr)
+
+ // Output:
+ // aaa,bbb,ccc,ddd,eee
+ // aaa,bbb,ccc,ddd,eee
+ // aaa,bbb,ccc,ddd,eee,,,,,
+}
+
+func ExampleTrimStr() {
+ var str, cut string
+ var count int
+ str = `goframe is Very Nice to-use`
+ cut = "goframe"
+ rsStr := gstr.TrimStr(str, cut, count)
+ fmt.Println(rsStr)
+
+ cut = "use"
+ rsStr = gstr.TrimStr(str, cut, count)
+ fmt.Println(rsStr)
+
+ // Output:
+ // is Very Nice to-use
+ // goframe is Very Nice to-
+}
+
+func ExampleUcFirst() {
+ var s string
+ s = `goframe is very nice to use.`
+ rsStr := gstr.UcFirst(s)
+ fmt.Println(rsStr)
+
+ // Output:
+ // Goframe is very nice to use.
+}
+
+func ExampleUcWords() {
+ var str string
+ str = `goframe is very nice to use.`
+ rsStr := gstr.UcWords(str)
+ fmt.Println(rsStr)
+
+ // Output:
+ // Goframe Is Very Nice To Use.
+}
+
+func ExampleWordWrap() {
+ var str, br string
+ var width int
+ str = `A very long woooooooooooooooooord. and something`
+ width = 8
+ br = "\n"
+ rsStr := gstr.WordWrap(str, width, br)
+ fmt.Println(rsStr)
+
+ str = `The quick brown fox jumped over the lazy dog.`
+ width = 20
+ br = "
\n"
+ rsStr = gstr.WordWrap(str, width, br)
+ fmt.Printf("%v", rsStr)
+
+ // Output:
+ // A very
+ // long
+ // woooooooooooooooooord.
+ // and
+ // something
+ // The quick brown fox
+ // jumped over the lazy
+ // dog.
+}