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

在golang中最后一个出现分隔符的地方分割一个字符串

在golang中最后一个出现分隔符的地方分割一个字符串

Go
蓝山帝景 2021-04-06 13:22:17
我正在尝试通过golang中最后一个出现的分隔符(/)来拆分字符串例如,我有一个字符串“ a / b / c / d”,执行分割后,我想要一个字符串数组,如下所示["a/b/c","a/b""a"]我尝试探索字符串包,但找不到执行此操作的任何函数func main() {    fmt.Printf("%q\n", strings.Split("a/b/c/d/e", "/"))}我可以知道一种解决方法吗?
查看完整描述

3 回答

?
一只甜甜圈

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

由于这是用于路径操作的,并且看起来您不需要尾随路径分隔符,因此可以path.Dir执行您想要的操作:


fmt.Println(path.Dir("a/b/c/d/e"))

// a/b/c/d

如果这是专门针对文件系统路径的,则您将要使用该filepath包来正确处理多个路径分隔符。


查看完整回答
反对 回复 2021-04-19
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

要仅在最后一次出现时拆分任何字符串,请使用 strings.LastIndex


import (

    "fmt"

    "strings"

)


func main() {

    x := "a_ab_daqe_sd_ew"

    lastInd := strings.LastIndex(x, "_")

    fmt.Println(x[:lastInd]) // o/p: a_ab_daqe_sd

    fmt.Println(x[lastInd+1:]) // o/p: ew

}

注意,如果找不到通过的子字符串(在上面的示例中为“ _”),则strings.LastIndex返回-1


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

添加回答

举报

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