为了账号安全,请及时绑定邮箱和手机立即绑定

Go:从两个字符或其他字符串之间检索字符串

Go:从两个字符或其他字符串之间检索字符串

Go
吃鸡游戏 2021-08-30 15:07:19
例如,假设我有一个字符串,如下所示:<h1>Hello World!</h1>什么 Go 代码能够Hello World!从该字符串中提取?我对 Go 还是比较陌生。任何帮助是极大的赞赏!
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

在所有编程语言中有很多方法可以拆分字符串。


由于我不知道您特别要求什么,因此我提供了一种示例方法来从您的示例中获取您想要的输出。


package main


import "strings"

import "fmt"


func main() {

    initial := "<h1>Hello World!</h1>"


    out := strings.TrimLeft(strings.TrimRight(initial,"</h1>"),"<h1>")

    fmt.Println(out)

}

在上面的代码中,您<h1>从字符串的左侧和</h1>右侧修剪。


正如我所说,拆分特定字符串的方法有数百种,这只是帮助您入门的示例。


希望它有所帮助,Golang 祝你好运:)


D B


查看完整回答
反对 回复 2021-08-30
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

如果字符串看起来像什么;START;extract;END;whatever 你可以使用它来获得介于两者之间的字符串:


// 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]

}

这里发生的是它将找到 START 的第一个索引,添加 START 字符串的长度并返回从那里到 END 的第一个索引为止存在的所有内容。


查看完整回答
反对 回复 2021-08-30
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

我改进了Jan Kardaš答案。现在您可以在开头和结尾找到超过 1 个字符的字符串。


func GetStringInBetweenTwoString(str string, startS string, endS string) (result string,found bool) {

    s := strings.Index(str, startS)

    if s == -1 {

        return result,false

    }

    newS := str[s+len(startS):]

    e := strings.Index(newS, endS)

    if e == -1 {

        return result,false

    }

    result = newS[:e]

    return result,true

}


查看完整回答
反对 回复 2021-08-30
  • 3 回答
  • 0 关注
  • 273 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信