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

golang 求子串位置

WBOY
發布: 2023-05-13 10:15:07
原創
1071 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板