gpt4 book ai didi

go - 仅通过 golang 中的第一个元素拆分字符串

转载 作者:行者123 更新时间:2023-12-01 21:16:00 25 4
gpt4 key购买 nike

我正在尝试解析 git 分支名称并拆分它们,以便我可以将远程名称和分支名称分开

以前我只是在第一个斜杠上拆分:

func ParseBranchname(branchString string) (remote, branchname string) {
branchArray := strings.Split(branchString, "/")
remote = branchArray[0]
branchname = branchArray[1]
return
}

但我忘记了有些人也在 git 分支名称中使用斜杠,甚至多个!

现在我从分割中取出 slice 中的第一个元素,然后将每个元素移动一个完成并合并回斜线:
func ParseBranchname(branchString string) (remote, branchname string) {
branchArray := strings.Split(branchString, "/")
remote = branchArray[0]

copy(branchArray[0:], branchArray[0+1:])
branchArray[len(branchArray)-1] = ""
branchArray = branchArray[:len(branchArray)-1]

branchname = strings.Join(branchArray, "/")
return
}

有没有更干净的方法来做到这一点?

最佳答案

使用 strings.SplitN n=2 将结果限制为两个子字符串。

func ParseBranchname(branchString string) (remote, branchname string) {
branchArray := strings.SplitN(branchString, "/", 2)
remote = branchArray[0]
branchname = branchArray[1]
return
}

关于go - 仅通过 golang 中的第一个元素拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60774467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com