首頁  >  文章  >  後端開發  >  go語言字串怎麼求指定子字串

go語言字串怎麼求指定子字串

青灯夜游
青灯夜游原創
2021-06-18 11:56:534559瀏覽

在go語言中,可以利用切片來配合「strings.Index()」函式來求指定子字串,語法格式「字串[strings.Index(字串, "字元") strings.Index(字串[開始位置:], "字元"):]」。 strings套件的Index()函數可以在字串中搜尋另一個子字串,取得子字串開始和結束位置。

go語言字串怎麼求指定子字串

本教學操作環境:windows10系統、GO 1.18、Dell G3電腦。

取得字串的某一段字元是開發中常見的操作,我們一般會將字串中的某一段字元稱為做子字串(substring)。

下面範例中使用strings.Index() 函數在字串中搜尋另一個子字串,程式碼如下:

tracer := "死神来了, 死神bye bye"
comma := strings.Index(tracer, ", ")
pos := strings.Index(tracer[comma:], "死神")
fmt.Println(comma, pos, tracer[comma+pos:])

程式輸出如下:

12 3 死神bye bye

程式碼說明如下:

1) 第2 行嘗試在tracer 的字串中搜尋中文的逗號,返回的位置存在comma 變數中,類型是int,表示從tracer 字串開始的ASCII 碼位置。

strings.Index() 函數並沒有像其他語言一樣,提供一個從某個偏移開始搜尋的功能。不過我們可以對字串進行切片操作來實現這個邏輯。

2) 第4行中,tracer[comma:] 從 tracer 的 comma 位置開始到 tracer 字串的結尾建構一個子字串,傳回給 string.Index() 進行再索引。得到的 pos 是相對於 tracer[comma:] 的結果。

comma 逗號的位置是 12,而 pos 是相對位置,值為 3。我們為了得到第二個「死神」的位置,也就是逗號後面的字串,就必須讓comma 加上pos 的相對偏移,計算出15 的偏移,然後再透過切片tracer[comma pos:] 計算出最終的子串,獲得最終的結果:「死神bye bye」。

推薦學習:Golang教學

以上是go語言字串怎麼求指定子字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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