小编典典

如何使用字符串包或其他方式删除“.zip”扩展名?

go

例如,我有一个字符串,由“sample.zip”组成。如何使用字符串包或其他方式删除“.zip”扩展名?


阅读 169

收藏
2021-12-15

共1个答案

小编典典

编辑:Go 继续前进。请参阅:

尝试:

basename := "hello.blah"
name := strings.TrimSuffix(basename, filepath.Ext(basename))

TrimSuffix 基本上告诉它去掉尾随的字符串,这是带点的扩展名。

使用path/filepath.Ext获取扩展名。然后,您可以使用扩展名的长度来检索减去扩展名的子字符串。

var filename = "hello.blah"
var extension = filepath.Ext(filename)
var name = filename[0:len(filename)-len(extension)]

或者,您可以使用strings.LastIndex来查找最后一个句点 (.) 但这可能会更脆弱一些,因为会有一些边缘情况(例如没有扩展名)filepath.Ext处理您可能需要明确编码的情况,或者如果 Go 是在使用除句点以外的扩展分隔符的理论 O/S 上运行。

2021-12-15