登录
首页 >  Golang >  Go问答

验证并更新路径中的多个标识符

来源:stackoverflow

时间:2024-03-18 20:18:25 384浏览 收藏

对于路径中包含多个需要替换为常量值的标识符的情况,可以使用正则表达式或循环遍历来实现。在 Go 语言中,可以使用 strings.Replace() 函数进行字符串替换,并通过循环迭代路径中的每个标识符来实现多次替换。需要注意的是,在每次替换后需要将替换后的结果重新赋值给路径变量,以确保后续替换能够正确进行。

问题内容

我有一个由 /and 分隔的路径,期望有多个 id,我想用常量值替换。我面临的问题是,一旦验证了第一个 id,它就会执行替换并停止。我的假设是我应该在 golang 中做一些事情(请参阅此资源 - 我知道 go 中没有这样的构造)并且我尝试使用:

for true {       
      // do something
}

但仍然只有第一个 id 被替换。任何想法?谢谢

这是我的 go 演示示例以及原始实现


正确答案


问题是你在第一场比赛后就提前 return 了。由于您迭代路径的一部分,因此您应该将 strings.replace() 的结果分配给变量并在 for 循环后返回。分配给 path 而不是返回,它应该按预期工作。

func SubstituteById(path string, repl string) string {
    ids := strings.Split(path, "/")
    for _, id := range ids {
        if fastuuid.ValidHex128(id) {
            path = strings.Replace(path, id, repl, -1)
        }
    }
    return path
}

今天关于《验证并更新路径中的多个标识符》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>