zoukankan      html  css  js  c++  java
  • GoLang基础数据类型--->字符串处理大全

                        GoLang基础数据类型--->字符串处理大全

                                                  作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    欢迎加入:   高级运维工程师之路               598432640

      任何一门语言都有它的好处,Golang的长处就是在于它的高并发能力,所以现在练习好Golang的用法,有利于你找一份好的工作哟~在学习任何一本语言,它的基本数据类型我们应该都得熟记于心,今天我们处理的主角就是字符串。让我们一起看看Golang对字符串的用法吧。我们此处主要针对strings这个包的某些方法的用法做演示。

    1.Contains

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11 "fmt"
    12 "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰到此一游"
    17     fmt.Println(strings.Contains(str,"尹正杰"))
    18     fmt.Println(strings.Contains(str,"yinzhengjie"))
    19     fmt.Println(strings.Contains("", ""))
    20 }
    21 
    22 
    23 
    24 
    25 #以上代码执行结果如下:
    26 true
    27 false
    28 true

    2.ContainsAny

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 package main
     8 
     9 import (
    10     "fmt"
    11     "strings"
    12 )
    13 
    14 func main() {
    15     str := "尹正杰到此一游"
    16     fmt.Println(strings.ContainsAny(str,"yin"))
    17     fmt.Println(strings.ContainsAny(str,"正杰"))
    18     fmt.Println(strings.ContainsAny(str,"正杰 & yinzhengjie"))
    19     fmt.Println(strings.ContainsAny("",""))
    20 }
    21 
    22 
    23 
    24 #以上代码执行结果如下:
    25 false
    26 true
    27 true
    28 false

    3.ContainsRune 

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰到此一游"
    17     fmt.Println(strings.ContainsRune(str,'')) //要注意的是,后面的是一个字符哟,而不是一个字符串啦!
    18     fmt.Println(strings.ContainsRune(str,'Y'))
    19 }
    20 
    21 
    22 
    23 #以上代码执行结果如下:
    24 true
    25 false

    4.Count

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "yinzhengjie"
    17     str2 := "尹正杰"
    18     fmt.Println(strings.Count(str,"i"))
    19     fmt.Println(strings.Count(str,""))
    20     fmt.Println(strings.Count(str2,""))
    21 }
    22 
    23 
    24 
    25 #以上代码执行结果如下:
    26 2
    27 12
    28 4

    5.EqualFold

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "Yinzhengjie"
    17     fmt.Println(strings.EqualFold(str,"YINZHENGJIE")) //忽略大小写,但是如果除了大小写的差异之外,还有其他的差异就会判定为false.
    18     fmt.Println(strings.EqualFold(str,"Yin"))
    19     fmt.Println(strings.EqualFold(str,"yinzhengjie"))
    20     fmt.Println(strings.EqualFold(str,"yINZHENGJIE"))
    21     fmt.Println(strings.EqualFold(str,"yIN"))
    22 }
    23 
    24 
    25 
    26 
    27 #以上代码执行结果如下:
    28 true
    29 false
    30 true
    31 true
    32 false

    6.Fields

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13     "reflect"
    14 )
    15 
    16 func main() {
    17     str := "yinzhengjie is good boy!"
    18     fmt.Println(str)
    19     fmt.Println("str的类型是:",reflect.TypeOf(str))
    20     list := strings.Fields(str)
    21     fmt.Println(list)
    22     fmt.Println("用Fields方法处理过的str类型是:",reflect.TypeOf(list))
    23 }

    7.HasPrefix

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰到此一游"
    17     fmt.Println(strings.HasPrefix(str,"尹正杰")) //判断字符串是否以“尹正杰”开头。
    18     fmt.Println(strings.HasPrefix(str,"正杰"))
    19 }
    20 
    21 
    22 
    23 #以上代码执行结果如下:
    24 true
    25 false

    8.HasSuffix

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰到此一游"
    17     fmt.Println(strings.HasSuffix(str,"到此一游")) //判断字符串是否以“到此一游”结尾.
    18     fmt.Println(strings.HasSuffix(str,"到此"))
    19 }

    9.Index

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "yinzhengjie"
    17     str := "尹正杰到此一游"
    18     fmt.Println(strings.Index(str,"")) //注意,一个汉字战友三个字节,在“杰”前面有2个汉字,占据了0-5的索引,因此“杰”所对应的下班索引应该是“619     fmt.Println(strings.Index(name,"i"))  //找到第一个匹配到的“i”的索引下标。
    20     fmt.Println(strings.Index(name,"haha")) //如果没有找到的话就会返回“-121 }
    22 
    23 
    24 
    25 
    26 #以上代码执行结果如下:
    27 6
    28 1
    29 -1

    10.IndexAny

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰到此一游"
    17     fmt.Println(strings.IndexAny(str,""))
    18     fmt.Println(strings.IndexAny(str,"到此"))
    19     fmt.Println(strings.IndexAny(str,"哈哈"))
    20 }
    21 
    22 
    23 
    24 #以上代码执行结果如下:
    25 3
    26 9
    27 -1

    11.IndexRune

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰到此一游"
    17     fmt.Println(strings.IndexRune(str,''))  //注意这里面输入的是字节哟!
    18     fmt.Println(strings.IndexRune(str,'y'))  //当然如果字符串不存在的话仍然会返回“-119 }
    20 
    21 
    22 
    23 #以上代码执行结果如下:
    24 6
    25 -1

    12.Join

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13     "reflect"
    14 )
    15 
    16 func main() {
    17     str := []string{"yinzhengjie","is","a","good","boy!"}
    18     fmt.Println("没有进行切片之前str的类型为:",reflect.TypeOf(str))
    19     join_string := strings.Join(str,"···") //该方法可以将多个字符串切片数组进行拼接,使其成为一个字符串。可以指定每个字符串的间隔。
    20     fmt.Println(join_string)
    21     fmt.Println("用JOIN方法之后str的类型为:",reflect.TypeOf(join_string))
    22 }
    23 
    24 
    25 #以上代码执行结果如下:
    26 没有进行切片之前str的类型为: []string
    27 yinzhengjie···is···a···good···boy!
    28 用JOIN方法之后str的类型为: string

    13.LastIndex

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "yinzhengjie"
    17     fmt.Println(strings.LastIndex(name,"i")) //匹配最后一个字母“i”的索引下标
    18     fmt.Println(strings.LastIndex(name,"e"))
    19     fmt.Println(strings.LastIndex(name,"")) //如果没有匹配到依然返回“-1”哟
    20 }
    21 
    22 
    23 
    24 #以上代码执行结果如下:
    25 9
    26 10
    27 -1

    14.LastIndexAny

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰到此一游"
    17     fmt.Println(strings.LastIndexAny(str,"一游")) //我们输入的是“一游”,但是它会默认匹配“游”这个字的索引下标,
    18     // 由于其前面有6个汉字,一个汉字对应着3个字节,所以他返回的值应该是18.
    19 }
    20 
    21 
    22 
    23 #以上代码执行结果如下:
    24 18

    15.Repeat

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     fmt.Println(strings.Repeat("尹正杰  ",6))  //Repeat方法可以重复一个字符串的次数。
    17 }
    18 
    19 
    20 
    21 #以上代码执行结果如下:
    22 尹正杰  尹正杰  尹正杰  尹正杰  尹正杰  尹正杰  

    16.Replace

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "yinzhengjie"
    17     fmt.Println(strings.Replace(name,"y","Y",1))  //表示将name字符串中的“y”重定向成“Y”,后面的数字
    18     // 表示匹配的次数,匹配一次表示只修改第一个匹配到的字符串,如果匹配到2次都做相同的操作。
    19     fmt.Println(strings.Replace(name,"e","E",2))
    20     fmt.Println(strings.Replace(name,"i","I",1))
    21     fmt.Println(strings.Replace(name,"i","I",-1)) //注意,这个“-1”就表示从第一个开始匹配,
    22     // 到最后一个结束,都做相同的操作,也就是将“i”修改为“I”
    23 }
    24 
    25 
    26 
    27 #以上代码执行结果如下:
    28 Yinzhengjie
    29 yinzhEngjiE
    30 yInzhengjie
    31 yInzhengjIe

    17.Split

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13     "reflect"
    14 )
    15 
    16 func main() {
    17     name := "yinzhengjie"
    18     fmt.Println(reflect.TypeOf(name))
    19     list := strings.Split(name,"i")  //表示以字符串中的字母“i”为分隔符,将这个字符串进行分离,进而生成了一个数组切片。
    20     fmt.Println(list)
    21     fmt.Println(reflect.TypeOf(list))
    22 }
    23 
    24 
    25 
    26 
    27 #以上代码执行结果如下:
    28 string
    29 [y nzhengj e]
    30 []string

    18.SplitAfter

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "yinzhengjie"
    17     fmt.Println(strings.SplitAfter(name,"i"))  //SplitAfter这个方法表示在字符串中的字母“i”之后进行切割,
    18     // 但是并不会覆盖到字母“i”,这一点跟Split方法是有所不同的哟!
    19 }
    20 
    21 
    22 
    23 
    24 #以上代码执行结果如下:
    25 [yi nzhengji e]

    19.SplitAfterN

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "#yinzhengjie#is#a#good#boy!#"
    17     fmt.Println(strings.SplitAfterN(name,"#",3))  //表示将字符串name用“#”分割,分成的长度为3
    18     fmt.Println(strings.SplitAfterN(name,"#",5))
    19     fmt.Println(strings.SplitAfterN(name,"#",-1)) //注意,这个“-1”表示将这个字符串进行分割,以“#”为分隔符
    20 }
    21 
    22 
    23 
    24 #以上代码执行结果如下:
    25 [# yinzhengjie# is#a#good#boy!#]
    26 [# yinzhengjie# is# a# good#boy!#]
    27 [# yinzhengjie# is# a# good# boy!# ]

    20.SplitN

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "#yinzhengjie#is#a#good#boy!#"
    17     fmt.Println(name)
    18     fmt.Println(strings.SplitN(name,"#",2)) //我们知道“name”这个字符串里面包含了6个“#”的特殊字符,
    19     // 这个数字2表示将字符串用“#”将其分成2段,其中“#”被分割处理了。
    20     fmt.Println(strings.SplitN(name,"#",5))
    21     fmt.Println(strings.SplitN(name,"#",-1)) //表示用“#”对字符串进行分割,这个就是有多少个“#”号就会被分割多少次。
    22 }
    23 
    24 
    25 
    26 
    27 #以上代码执行结果如下:
    28 #yinzhengjie#is#a#good#boy!#
    29 [ yinzhengjie#is#a#good#boy!#]
    30 [ yinzhengjie is a good#boy!#]
    31 [ yinzhengjie is a good boy! ]

    21.Title

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "yinzhengjie"
    17     fmt.Println(strings.Title(name))  //该方法可以让首字母大写哟!
    18 }
    19 
    20 
    21 #以上代码执行结果如下:
    22 Yinzhengjie

    22.ToLower

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "YINZHENGjie"
    17     fmt.Println(strings.ToLower(name)) //将大写字母转换成小写字母,如果已经是小写就不在错操作了。
    18 }
    19 
    20 
    21 
    22 #以上代码执行结果如下:
    23 yinzhengjie

    23.ToLowerSpecial

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     //"strings"
    13     "bytes"
    14     "unicode"
    15     "strings"
    16 )
    17 
    18 func main() {
    19     name := []byte("YINZHENGJIE")
    20     str := "YZJ"
    21     fmt.Println(string(bytes.ToLowerSpecial(unicode.AzeriCase,name)))  //该方法可以将字节中的字母变为小写。
    22     fmt.Println(strings.ToLowerSpecial(unicode.AzeriCase,str)) //该方法可以将字符串的字母变为小写。
    23 }
    24 
    25 
    26 
    27 #以上代码执行结果如下:
    28 yınzhengjıe
    29 yzj

    24.ToTitle

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "Yinzhengjie"
    17     fmt.Println(strings.ToTitle(name))  //该方法可以将小写字母变大写。
    18 }
    19 
    20 
    21 #以上代码执行结果如下:
    22 YINZHENGJIE

    25.ToUpper

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     name := "yinzhengjie"
    17     fmt.Println(strings.ToUpper(name)) //该方法也是将小写字母变成大写,从效果上来看跟ToTitle很相似。
    18 }
    19 
    20 
    21 #以上代码执行结果如下:
    22 YINZHENGJIE

    26.Trim

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "#尹#正#杰#is#a#good#boy#"
    17     fmt.Println(strings.Trim(str,"#"))  //该方法可以去掉字符串左右两边的符号,但是字符串之间的是去不掉“#”的哟。
    18 }
    19 
    20 #以上代码执行结果如下:
    21#正#杰#is#a#good#boy

    27.TrimLeft与TrimRight

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "#尹#正#杰#is#a#good#boy#"
    17     fmt.Println(strings.TrimLeft(str,"#"))  //表示只去掉左边的“#”号
    18     fmt.Println(strings.TrimRight(str,"#"))  //表示只去掉右边的“#”号
    19 }
    20 
    21 
    22 
    23 #以上代码执行结果如下:
    24#正#杰#is#a#good#boy#
    25 #尹#正#杰#is#a#good#boy

    28.TrimSpace

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "          #   尹#正#杰#is#a#good#boy#      
                  "
    17     fmt.Println("TrimSpace处理之前的样子:",str)
    18     fmt.Println("TrimSpace处理之后的样子:",strings.TrimSpace(str))  //该方法可以脱去两边的空格和换行符。
    19     fmt.Println("代码执行结束!")
    20 }
    21 
    22 
    23 #以上代码执行结果如下:
    24 TrimSpace处理之前的样子:           #   尹#正#杰#is#a#good#boy#      
    25               
    26 TrimSpace处理之后的样子: #   尹#正#杰#is#a#good#boy#
    27 代码执行结束!

    29.TrimSuffix

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰 love Golang"
    17     fmt.Println(strings.TrimSuffix(str,"Golang")) //该方法可以从后面脱去以“Golang结尾的字符串”
    18     fmt.Println(strings.TrimSuffix(str,"尹正杰")) //但是没办法从前面脱去特定的字符串“尹正杰”
    19 }
    20 
    21 
    22 
    23 #以上代码执行结果如下:
    24 尹正杰 love 
    25 尹正杰 love Golang

    30.TrimPrefix

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "strings"
    13 )
    14 
    15 func main() {
    16     str := "尹正杰 love Golang"
    17     fmt.Println(strings.TrimPrefix(str,""))
    18     fmt.Println(strings.TrimPrefix(str,"Golang"))
    19 }
    20 
    21 
    22 #以上代码执行结果如下:
    23 正杰 love Golang
    24 尹正杰 love Golang

    31.TrimFunc

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "bytes"
    13     "strings"
    14 )
    15 
    16 func main() {
    17     s := []byte("yinzhengjie")
    18     fmt.Println(string(bytes.TrimFunc(s,func(r rune)bool{ //可以去字节中的首字母或尾字母。
    19         if r=='y' || r=='e'{
    20             return true
    21         }else{
    22             return false
    23         }
    24     })))
    25 
    26     name := "yinzhengjie"
    27     res :=     strings.TrimFunc(name, func(r rune) bool { //可以去掉字符串的首字母或尾字母,注意,中间的字母并不能操作哟!
    28         if r == 'y'|| r== 'e' {
    29             return true
    30         }else {
    31             return false
    32         }
    33     })
    34     fmt.Println(res)
    35 }
    36 
    37 
    38 
    39 #以上代码执行结果如下:
    40 inzhengji
    41 inzhengji

    32.TrimLeftFunc与TrimRightFunc

     1 /*
     2 #!/usr/bin/env gorun
     3 @author :yinzhengjie
     4 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/
     5 EMAIL:y1053419035@qq.com
     6 */
     7 
     8 package main
     9 
    10 import (
    11     "fmt"
    12     "bytes"
    13     "strings"
    14 )
    15 
    16 func main() {
    17     name := []byte("#yinzhengjie#")
    18     fmt.Println(string(bytes.TrimLeftFunc(name,func(r rune)bool{ //只匹配字节的最左边
    19         if r == '#' || r=='y'{     //注意这个地方是字节哟!
    20             return true
    21         }else{
    22             return false
    23         }
    24 
    25     })))
    26 
    27     str := "#yinzhengjie#"
    28     fmt.Println(strings.TrimLeftFunc(str, func(r rune) bool {  //只匹配字符串的最左边,也要注意下面的条件判断是字节而不是字符串哟。
    29         if r == '#' || r == 'y' {  //注意是单引号而不是双引号!
    30             return true
    31         }else {
    32             return false
    33         }
    34     }))
    35 
    36     //当然用TrimLeft方法也可以一行就搞定
    37     fmt.Println(string(bytes.TrimLeft(name,"#")))
    38 
    39     fmt.Println("--------我是分割线---------")
    40 
    41 
    42     //TrimRightFunc
    43     fmt.Println(string(bytes.TrimRightFunc(name,func(r rune)bool{
    44         if r == '#'{
    45             return true
    46         }else{
    47             return false
    48         }
    49 
    50     })))
    51 
    52     fmt.Println(strings.TrimRightFunc(str, func(r rune) bool {
    53         if r == '#' {
    54             return true
    55         }else {
    56             return false
    57         }
    58     }))
    59 
    60     //当然用TrimRight方法也可以一行就搞定
    61     fmt.Println(string(bytes.TrimRight(name,"#")))
    62 }
    63 
    64 
    65 
    66 
    67 #以上代码执行结果如下:
    68 inzhengjie#
    69 inzhengjie#
    70 yinzhengjie#
    71 --------我是分割线---------
    72 #yinzhengjie
    73 #yinzhengjie
    74 #yinzhengjie

       想要学习更多关于字符串处理的方法,使劲戳我

  • 相关阅读:
    WebStorm使用Vue
    hive的简单操作
    hbase的简单操作
    CentOS 7 配置hadoop(五) 配置sqoop(伪分布)
    CentOS7配置hadoop集群
    CentOS 7 配置hadoop(四) 配置hive(伪分布)
    CentOS 7 配置hadoop(三) 配置hbase(伪分布)
    五种变量创建的方法
    GO练习题
    第一次作业总结
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/7610776.html
Copyright © 2011-2022 走看看