package main
import "fmt"
import "strings"
/**
获取文件基本名
*/
func basename(s string) string{
for i:= len(s)-1; i>=0;i--{
if s[i] == '/' {
s = s[i+1:]
break
}
}
//保留最后一个'.'之前的的内容
for i:= len(s)-1; i>=0; i--{
if s[i] == '.' {
s = s[:i]
break
}
}
return s
}
func basename_v2(s string)string{
sl := strings.LastIndex(s,"/")
s = s[sl+1:]
if d := strings.LastIndex(s,"."); d >=0 {
s = s[:d]
}
return s
}
func main(){
s := "/a/b/c.go"
fmt.Println(basename(s))
fmt.Println(basename_v2(s))
s = "abc.go"
fmt.Println(basename(s))
fmt.Println(basename_v2(s))
}
获取文件基本名
最新推荐文章于 2025-04-28 09:42:22 发布
本文详细介绍了一种在Go语言中解析文件名的方法,通过两个不同的函数实现:basename和basename_v2。这些函数能有效去除路径中的目录部分,并剥离文件扩展名,返回纯文件名。代码示例清晰展示了如何使用这些函数处理不同类型的输入。
2127

被折叠的 条评论
为什么被折叠?



