首頁 > 後端開發 > Golang > 如何在 Go 中提取兩個字元或字串之間的子字串?

如何在 Go 中提取兩個字元或字串之間的子字串?

Barbara Streisand
發布: 2024-11-02 21:27:30
原創
705 人瀏覽過

How to Extract a Substring Between Two Characters or Strings in Go?

執行程式碼以提取兩個字元或字串之間的子字串

如果您有一個字串並且想要從其中提取特定的子字串, Go 提供了一種靈活的機制來實現這一點。

例如,考慮以下內容string:

<h1>Hello World!</h1>
登入後複製

提取子字串

提取「Hello World!」使用Go 從該字串中,您可以實現以下函數:

<code class="go">// GetStringInBetween Returns empty string if no start string found
func GetStringInBetween(str string, start string, end string) (result string) {
    s := strings.Index(str, start)
    if s == -1 {
        return
    }
    s += len(start)
    e := strings.Index(str[s:], end)
    if e == -1 {
        return
    }
    e += s + e - 1
    return str[s:e]
}</code>
登入後複製

理解函數

此函數需要三個參數:

  • str:原始字串
  • start:起始字串或字元
  • end:結束字串或字元

它的工作原理如下:

  1. 它在原始字串中尋找start的第一個索引。
  2. 它將 start 的長度加到起始索引,有效地跳過起始字串。
  3. 它發現從調整後的起始索引開始的子字串中 end 的第一個索引。
  4. 透過將調整後的起始索引加入找到的 end 索引來計算結束索引。
  5. 最後傳回從調整後的起始索引到結束索引的子字串。

範例用法

要使用此函數,您可以傳入原始字串、起始字串和結束字串。例如:

start := "<h1"
end := "</h1>"
substring := GetStringInBetween("&lt;h1&gt;Hello World!&lt;/h1&gt;", start, end)
// substring will be "Hello World!"
登入後複製

以上是如何在 Go 中提取兩個字元或字串之間的子字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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