首页 > 后端开发 > Golang > 如何在 Go 中提取两个字符或字符串之间的子字符串?

如何在 Go 中提取两个字符或字符串之间的子字符串?

Barbara Streisand
发布: 2024-11-02 21:27:30
原创
695 人浏览过

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

执行代码以提取两个字符或字符串之间的子字符串

如果您有一个字符串并且想要从其中提取特定的子字符串, Go 提供了一种灵活的机制来完成此操作。

例如,考虑以下字符串:

<h1>Hello World!</h1>
登录后复制

提取子字符串

提取 "你好世界!”使用 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板