首頁 >後端開發 >Golang >golang 求子串位置

golang 求子串位置

WBOY
WBOY原創
2023-05-13 10:15:071044瀏覽

golang 是一門效率和效能非常高的程式語言,在字串運算上也不例外。如果需要在 golang 中尋找字串的子字串位置,則可以使用標準函式庫中的 strings 套件提供的函數來實作。

下面是golang 中求子字串位置的幾種方法:

1. strings.Index 函數

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

2. strings.LastIndex 函數

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

3. strings.IndexAny 函數

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

4. strings.IndexByte 函數

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

5. strings.IndexFunc 函數

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn