go 字串之 strings 包介紹

JaguarJack發表於2018-05-15

平時在開發過程中, 和字串打交道還是比較多的,比如分割, 去除, 替換等等常用的方法, 這些都是由strings包來提供的, 下面來看看strings包的使用

分割

 s := "I_Love_golangCaff"
 res := strings.Split(s, "_")
for value := range res {
        fmt.Println(value)
 }

I
Love
golangCaff //輸出

與之相關的其他方法

strings.SplitN() => 指定切割次數
strings.SplitAfter() => 保留分隔符
strings.SplitAfterN() => 指定切割次數

看一下使用方法, IDE會有提示。以上述字串為例, 依次輸出結果

for value := range strings.SplitN(s, "_", 2) {
        fmt.Println(value)
 }
 //I     Love_golangCaff
for value := range strings.SplitAfter(s, "_") {
        fmt.Println(value)
 }
 //I_              Love_                  golangCaff
for value := range strings.SplitAfterN(s, "_", 2) {
        fmt.Println(value)
 }
 //I_                   Love_golangCaff

替換

fmt.Println(strings.Replace(s, "_", ".", 1)) //引數依次 (原字串,被替換字串, 用來替換的字元, 替換的次數(-1表示沒有限制)

I.Love_golangCaff //輸出

連線

fmt.Println(strings.Join(strings.Split(s, "_"), "+")) //strings.Join([]s, "連線符")

I+Love+golangCaff //輸出

介紹其他一些字串操作函式(s 字串型別, t 字串型別, xs 字串切片)

strings.TrimSpace(s) //返回去除字串首尾空白的字串
strings.Contains(s, t) //s中是否包含t
strings.Count(s, t) // t在s中出現的次數
strings.Trim(s, t) //去除s中t字元 還有TrimLeft(s, t)以及TrimRight(s, t)
strings.repeat(s, i) //重複i次s字元
strings.ToLower(s) //將字串變為小寫
strings.ToUpper(s) //將字串變為大寫
strings.Index(s, t) //t在s中出現的第一次索引的位置

以上就是介紹的一部分strings包的方法, 具體還有可以檢視文件

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章