我正在尝试通过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包来正确处理多个路径分隔符。
慕盖茨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
- 3 回答
- 0 关注
- 1257 浏览
添加回答
举报
0/150
提交
取消