Go语言strings包

南笙酒味 提交于 2020-01-20 02:02:56

目录

strings包实现了用于操作字符的简单函数。

func EqualFold

判断两个utf-8编码字符串(将unicode大写、小写、标题三种格式字符视为相同)是否相同。

func EqualFold(s, t string) bool

示例:

func main() {

    str1 := "Golang"
    str2 := "golang"

    fmt.Println(strings.EqualFold(str1, str2)) //输出: true
}

HasPrefix

判断s是否有前缀字符串prefix。

func HasPrefix(s, prefix string) bool

示例:

func main() {

    var str string = "Hello"

    fmt.Println(strings.HasPrefix(str, "He")) //true
    fmt.Println(strings.HasPrefix(str, "he")) //false
}

func HasSuffix

判断s是否有后缀字符串suffix。

func HasSuffix(s, suffix string) bool

示例:

func main() {

    var str = "Hello"

    fmt.Println(strings.HasSuffix(str, "llo")) //true
    fmt.Println(strings.HasSuffix(str, "ll")) //false
}

func Contains

判断字符串s是否包含子串substr。

func Contains(s, substr string) bool

示例:

func main() {

    var str = "中国,台湾"

    fmt.Println(strings.Contains(str, "台湾")) //true
    fmt.Println(strings.Contains(str, "日本")) //false
}

func ContainsRune

判断字符串s是否包含utf-8码值r。

func ContainsRune(s string, r rune) bool

示例:

func main() {

    var r rune = '中'
    var str = "中国"

    fmt.Println(strings.ContainsRune(str, r)) //true
    fmt.Println(strings.ContainsRune(str, '日')) //false
}

func ContainsAny

判断字符串s是否包含字符串chars中的任一字符。

func ContainsAny(s, chars string) bool

示例:

func main() {

    var s = "我爱你,中国"
    var chars = "我爱你"
    var test  = "日"

    fmt.Println(strings.ContainsAny(s, chars)) //true
    fmt.Println(strings.ContainsAny(s, test))  //false
}

func Count

返回substr在字符串s中出现的次数,如果substr是一个空字符串,则返回字符串s的unicode长度+1

func Count(s, substr string) int

示例:

func main() {

    var s    = "Jack,This is 龙"
    var seq1 = "is"
    var seq2 = "龙"
    var seq3 = ""
    fmt.Println("字符串s的长度为:", utf8.RuneCountInString(s))
    fmt.Println(strings.Count(s, seq1)) //2
    fmt.Println(strings.Count(s, seq2)) //1
    fmt.Println(strings.Count(s, seq3)) //15

}

func Index

子串substr在字符串s中第一次出现的位置,不存在则返回-1。

func Index(s, substr string) int

示例:

func main() {

    var s       = "hello,world"
    var substr  = "o"
    var substr2 = "a"
    fmt.Println(strings.Index(s, substr)) //4
    fmt.Println(strings.Index(s, substr2)) //-1

}

func IndexByte

字符c在s中第一次出现的位置,不存在则返回-1。

func IndexByte(s string, c byte) int

示例:

func main() {

    var s       = "hello,world"
    var c1 byte = 'o'
    var c2 byte = 'a'
    fmt.Println(strings.IndexByte(s, c1)) //4
    fmt.Println(strings.IndexByte(s, c2)) //-1

}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!