2 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
只需使用strings.Split():
s := "foo/bar/file.txt"
parts := strings.Split(s, "/")
fmt.Println(parts[0], len(parts))
fmt.Println(parts)
輸出(在Go Playground上試試):
foo 3
[foo bar file.txt]
筆記:
如果要按當(dāng)前操作系統(tǒng)的路徑分隔符進(jìn)行拆分,請(qǐng)os.PathSeparator用作分隔符:
parts := strings.Split(s, string(os.PathSeparator))
filepath.SplitList()將多個(gè)連接的路徑拆分為單獨(dú)的路徑。它不會(huì)將一個(gè)路徑拆分為文件夾和文件。例如:
fmt.Println("On Unix:", filepath.SplitList("/a/b/c:/usr/bin"))
輸出:
On Unix: [/a/b/c /usr/bin]

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
請(qǐng)注意,如果您只需要第一部分,strings.SplitN我的測(cè)試至少要快 10 倍:
package main
import "strings"
func main() {
parts := strings.SplitN("foo/bar/file.txt", "/", 2)
println(parts[0] == "foo")
}
https://golang.org/pkg/strings#SplitN
- 2 回答
- 0 關(guān)注
- 197 瀏覽
添加回答
舉報(bào)