示例代碼:
package main
import (
"fmt"
"path"
)
func main() {
filename := "device/sdk/CMakeLists.txt"
filenameall := path.Base(filename)
filesuffix := path.Ext(filename)
fileprefix := filenameall[0:len(filenameall) - len(filesuffix)]
//fileprefix, err := strings.TrimSuffix(filenameall, filesuffix)
fmt.Println("file name:", filenameall)
fmt.Println("file prefix:", fileprefix)
fmt.Println("file suffix:", filesuffix)
}
執(zhí)行結(jié)果:
file name: CMakeLists.txt
file prefix: CMakeLists
file suffix: .txt
path.Base(filename)
獲取不包含目錄的文件名
path.Ext(filename)
獲取文件后綴
文件前綴 可以使用切片的方式獲取:
fileprefix := filenameall[0:len(filenameall) - len(filesuffix)]
也可以使用 strings.TrimSuffix() 進(jìn)行獲取:
import "strings"
fileprefix, err := strings.TrimSuffix(filenameall, filesuffix)
補(bǔ)充:golang 判斷前綴后綴、包含關(guān)系
HasPrefix 判斷字符串 s 是否以 prefix 開頭:
strings.HasPrefix(s, prefix string) bool
HasSuffix 判斷字符串 s 是否以 suffix 結(jié)尾:
strings.HasSuffix(s, suffix string) bool
字符串包含關(guān)系
Contains 判斷字符串 s 是否包含 substr :
strings.Contains(s, substr string) bool
測(cè)試源碼:
package main
import (
"fmt"
"strings"
)
func main() {
var str1 string = "This is an example of a string"
var str2 string = "this is an "
var str3 string = " of a string"
fmt.Println(strings.HasPrefix(str1, str2))
fmt.Println(strings.HasSuffix(str1, str3))
}
運(yùn)行結(jié)果:
[root@localhost golang]# go run zzz.go
false
true
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- go 實(shí)現(xiàn)簡(jiǎn)易端口掃描的示例
- go xorm框架的使用
- 解析Go的Waitgroup和鎖的問題
- Go語言快速入門圖文教程
- go語言基礎(chǔ) seek光標(biāo)位置os包的使用
- Go語言 如何實(shí)現(xiàn)RSA加密解密
- Go 自定義package包設(shè)置與導(dǎo)入操作
- 詳解Gotorch多機(jī)定時(shí)任務(wù)管理系統(tǒng)