我正在嘗試通過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 關注
- 1328 瀏覽
添加回答
舉報
0/150
提交
取消