golang 是一門效率和效能非常高的程式語言,在字串運算上也不例外。如果需要在 golang 中尋找字串的子字串位置,則可以使用標準函式庫中的 strings 套件提供的函數來實作。
下面是golang 中求子字串位置的幾種方法:
package main import ( "fmt" "strings" ) func main() { str := "hello, world" substr := "world" index := strings.Index(str, substr) fmt.Println("substr in str:", index) }
運行結果:
substr in str: 7
strings.Index
函數傳回子字串在字串中第一次出現的位置,如果子字串不在字串中則傳回-1
。
strings.LastIndex
函數和strings.Index
函數類似,但從字串最後開始尋找子串。
package main import ( "fmt" "strings" ) func main() { str := "hello, world, world" substr := "world" index := strings.LastIndex(str, substr) fmt.Println("substr in str:", index) }
運行結果:
substr in str: 13
strings.IndexAny
函數用於查找子字串中任意一個字元在字符串中首次出現的位置。
package main import ( "fmt" "strings" ) func main() { str := "hello, world" substr := "ow" index := strings.IndexAny(str, substr) fmt.Println("substr in str:", index) }
執行結果:
substr in str: 4
strings.IndexByte
函數用於尋找子字串中指定位元組在字元串中首次出現的位置。
package main import ( "fmt" "strings" ) func main() { str := "hello, world" substr := ',' index := strings.IndexByte(str, substr) fmt.Println("substr in str:", index) }
執行結果:
substr in str: 5
strings.IndexFunc
函數用於尋找子字串中滿足指定條件的字符在字串中首次出現的位置。
package main import ( "fmt" "strings" ) func main() { str := "hello, world" substr := func(r rune) bool { return r == 'l' } index := strings.IndexFunc(str, substr) fmt.Println("substr in str:", index) }
運行結果:
substr in str: 2
以上就是 golang 中求子字串位置的幾種方法,根據不同情況選用適合的方式可以有效提高程式的效率。
以上是golang 求子串位置的詳細內容。更多資訊請關注PHP中文網其他相關文章!