golang判斷字串出現的位置及是否包含
判斷子字串或字元在父字串中出現的位置(索引)
Index 返回字串 str 在字串 s 中的索引( str 的第一個字元的索引),-1 表示字串 s 不包含
字串 str :
strings.Index(s, str string) int
LastIndex 返回字串 str 在字串 s 中最後出現位置的索引( str 的第一個字元的索引),-1 表示
字串 s 不包含字串 str :
strings.LastIndex(s, str string) int
如果 ch 是非 ASCII 編碼的字元,建議使用以下函式來對字元進行定位:
strings.IndexRune(s string, ch int) int
package main import ( "fmt" "strings" ) func main() { var str string = "Hi, I'm Marc, Hi." fmt.Printf("The position of \"Marc\" is: ") fmt.Printf("%d\n", strings.Index(str, "Marc")) fmt.Printf("The position of the first instance of \"Hi\" is: ") fmt.Printf("%d\n", strings.Index(str, "Hi")) fmt.Printf("The position of the last instance of \"Hi\" is: ") fmt.Printf("%d\n", strings.LastIndex(str, "Hi")) fmt.Printf("The position of \"Burger\" is: ") fmt.Printf("%d\n", strings.Index(str, "Burger")) }
輸出:
The position of "Marc" is: 8 The position of the first instance of "Hi" is: 0 The position of the last instance of "Hi" is: 14 The position of "Burger" is: -1