在 Go 中检索类似 URL 的字符串中的第一个目录

我正在尝试获取类似 URL 的字符串中的第一个目录,如下所示"/blog/:year/:daynum/:postname":我认为拆分它,然后检索第一个目录,就这么简单。但即使它不是切片,它也会返回围绕字符串的方括号。我怎样才能得到第一个目录?(我保证该字符串以“/”开头,后跟一个有效的目录名称,并且包含前导目录和使用这些永久链接属性的字符串)。


解析第一个目录的最佳方法是什么?


package main

import (

    "fmt"

    "strings"

)

// Retrieve the first directory in the URL-like

// string passed in

func firstDir(permalink string) string {

    split := strings.Split(permalink, "/")

    return string(fmt.Sprint((split[0:2])))

}

func main() {

    permalink := "/blog/:year/:daynum/:postname"

    dir := firstDir(permalink)

    fmt.Printf("leading dir is: %s.", dir)

    // Prints NOT "blog" but "[ blog]".

}



拉莫斯之舞
浏览 139回答 1
1回答

慕娘9325324

既然您说:“(我保证该字符串以“/”开头,后跟一个有效的目录名称,并且包含前导目录和使用这些永久链接属性的字符串)”然后简单地使用split[1]获取根目录。package mainimport (    "fmt"    "os"    "strings")func firstDir(permalink string) string {    split := strings.Split(permalink, string(os.PathSeparator))    return split[1]}func main() {    permalink := "/blog/:year/:daynum/:postname"    dir := firstDir(permalink)    fmt.Printf("leading dir is: %s.", dir)    // Prints "blog".}https://go.dev/play/p/hCHnrDIsWYE
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go