zoukankan      html  css  js  c++  java
  • Golang常见的字符串函数操作实战篇

             Golang常见的字符串函数操作实战篇

                                   作者:尹正杰

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

     

     

     

    一.判断子串

    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main() {
    
        s1 := "尹正杰2020"
    
        s2 := "2020"
    
        /**
        Contains函数的签名如下所示:
            func Contains(s, substr string) bool
    
        对函数签名个参数说明如下:
            s:
                表示一个字符串
            substr:
                表示需要和s进行对比的子串
            bool:
                表示返回值类型,如果s包含substr则返回true,如果不包含则返回false.
        */
        result := strings.Contains(s1, s2)
    
        fmt.Printf("result = %t
    ", result)
    
        if result {
            fmt.Println("s2是s1的子串")
        } else {
            fmt.Println("s2不是s1的子串")
        }
    }

    二.字符串拼接

    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main() {
    
        //定义一个字符串切片
        s1 := []string{
            "YinZhengjie",
            "尹正杰",
            "2020",
        }
        fmt.Println(s1)
    
        /**
        Join的函数签名如下所示:
            Join(a []string, sep string) string
        对函数签名个参数说明如下:
            a:
                表示待拼接的字符串切片.
            sep:
                表示指定拼接的链接符号,如果不想使用任何拼接符号可以使用空串("")
            string:
                返回值就是将字符串切片(a)按照拼接符号(sep)进行拼接的一个最终结果
        */
        result := strings.Join(s1, "-")
        fmt.Println(result)
    }

    三.字符串删除首尾字符

    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main() {
    
        s1 := "2020YinZhengjie"
        fmt.Println(s1)
        s2 := "尹正杰2020"
        fmt.Println(s2)
        s3 := "尹正杰2020到此一游"
        fmt.Println(s3)
    
        /**
        Trim函数的签名如下所示:
            func Trim(s string, cutset string) string
    
        以下是对函数签名相关参数的说明:
            s:
                表示待操作的字符串
            cutset:
                表示需要删除的首尾字符串
            string:
                返回值是将待操作的字符串(s)经过删除首尾字符串(cutset)后的字符串结果返回。
        
        温馨提示:
            通常使用该函数去除字符串中包含的多余空格。
        */
        result1 := strings.Trim(s1, "2020")
        result2 := strings.Trim(s2, "2020")
        result3 := strings.Trim(s3, "2020")
        fmt.Println()
    
        fmt.Println(result1)
        fmt.Println(result2)
        fmt.Println(result3)
    
    }

    四.字符串替换

    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main() {
    
        s1 := "YinZhengjie2020"
        fmt.Println(s1)
        fmt.Println()
    
        /**
        Replace函数的签名如下所示:
            func Replace(s, old, new string, n int) string
    
        以下是对函数签名相关参数说明:
            s:
                表示待操作的字符串
            old:
                表示在代操作的字符串中需要替换的子串
            new:
                表示将old子串替换成新的字符串(new)
            n:
                表示替换的个数,当n为正数时,仅替换相应个数的子串,当n为负数时,则不限制替换的个数,即全部匹配。
        */
        result1 := strings.Replace(s1, "YinZhengjie", "尹正杰", 1)
        fmt.Println(result1)
    
        result2 := strings.Replace(s1, "e", "E", 2)
        fmt.Println(result2)
    
        result3 := strings.Replace(s1, "n", "N", -1)
        fmt.Println(result3)
    }

    五.字符串分割

    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main() {
    
        s1 := "YinZhengjie           尹正杰           2020"
        fmt.Println(s1)
        fmt.Println()
    
        /**
        Split函数的签名如下所示:
            func Split(s, sep string) []string
    
        以下时对函数签名的相关参数说明:
            s:
                表示待操作的字符串
            sep:
                表示以那个字符串为切割
            []string:
                返回值是一个字符串切片数组。
    
        温馨提示:
            Split的作用和join相反,是把字符串按照指定的子串切割成字符串切片
        */
        result1 := strings.Split(s1, " ") //此处我们按照空格来进行切分
        fmt.Println(result1)
    
        /**
        如下所示,通过查看Fields函数源码,默认是按照指定的特定的分隔符进行切割的.
            通过"[256]uint8{'	': 1, '
    ': 1, 'v': 1, 'f': 1, '
    ': 1, ' ': 1}"进行切割
        */
        result2 := strings.Fields(s1)
        fmt.Println(result2)
    
    }

    六.判断字符串的前后缀

    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main() {
    
        s1 := "yinzhengjie2020"
        fmt.Println(s1)
    
        /**
        HasPrefix函数签名如下:
            func HasPrefix(s, prefix string) bool
    
        以下是对函数签名的相关参数说明:
            s:
                表示待匹配的字符串
            prefix:
                指定一个字符串,判断待匹配的字符串(s)是否以指定字符串(prefix)开头的
            bool:
                返回的结果是一个布尔值,如果是指定的字符串(prefix)开头,则返回true,否则返回false.
        */
        result1 := strings.HasPrefix(s1, "yin")
        fmt.Printf("s1是以'yin'字符开头,结果为: %t
    ", result1)
    
        /**
        HasSuffix函数签名如下:
            func HasSuffix(s, suffix string) bool
    
        以下是对函数签名的相关参数说明:
            s:
                表示待匹配的字符串
            suffix:
                指定一个字符串,判断待匹配的字符串(s)是否以指定字符串(suffix)结尾的
            bool:
                返回的结果是一个布尔值,如果是指定的字符串(suffix)结尾,则返回true,否则返回false.
        */
        result2 := strings.HasSuffix(s1, "2020")
        fmt.Printf("s1是以'2020'字符结尾,结果为: %t
    ", result2)
    
    }

    七.字符串大小写转换

    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func main() {
        s1 := "YinZhengjie2020"
        fmt.Println(s1)
    
        //将字符串转换为大写
        upper := strings.ToUpper(s1)
        fmt.Println(upper)
    
        //将字符串转换成小写
        lower := strings.ToLower(s1)
        fmt.Println(lower)
    }

    八.其它常见的API文档

      博主推荐阅读:
        https://studygolang.com/pkgdoc
        https://studygolang.com/static/pkgdoc/pkg/strings.htm

  • 相关阅读:
    基于Linux平台的自动化运维Devops-----之自动化系统部署
    Centos7.1 mini版安装后安装图形界面教程
    python包管理之Pip安装及使用-1
    maven中jar、war、pom的区别
    黄焖鸡
    django-celery配置
    文档编写注意事项
    java时间处理,获取当前时间的小时,天,本周周几,本周周一的日期,本月一号的日期
    flink连接hbase方法及遇到的问题
    pycharm远程debug(内网环境,跳板机)
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12548380.html
Copyright © 2011-2022 走看看