1. 程式人生 > >golang string 包

golang string 包


字串查詢
func Index(s, sep string) int
子串sep在字串s中第一次出現的位置,不存在則返回-1。

package main

import (
	"fmt"
	"strings"
)

func main() {
	fmt.Println(strings.Index("chicken", "ken"))
	fmt.Println(strings.Index("chicken", "dmr"))
}

執行結果:

4
-1

func TrimPrefix(s, prefix string) string
返回去除s可能的字首prefix的字串。

package main

import (
	"fmt"
	"strings"
)

func main() {
	var s = "Goodbye,, world!"
	s = strings.TrimPrefix(s, "Goodbye,")
	s = strings.TrimPrefix(s, "Howdy,")
	fmt.Print("Hello" + s)
}

 執行結果:
Hello, world!

字串分割
func Split(s, sep string) []string
用去掉s中出現的sep的方式進行分割,會分割到結尾,並返回生成的所有片段組成的切片
(每一個sep都會進行一次切割,即使兩個sep相鄰,也會進行兩次切割)。
如果sep為空字元,Split會將s切分成每一個unicode碼值一個字串。

package main

import (
	"fmt"
	"strings"
)

func main() {
	fmt.Printf("%q\n", strings.Split("a,b,c", ","))
	fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a "))
	fmt.Printf("%q\n", strings.Split(" xyz ", ""))
	fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins"))
}

 執行結果:

["a" "b" "c"]
["" "man " "plan " "canal panama"]
[" " "x" "y" "z" " "]
[""]