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

推荐答案

Edit: Go has moved on. Please see 100.

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

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

或者,您可以使用strings.LastIndex查找最后一个句点(.)但这可能会稍微脆弱一些,因为可能会有一些边缘情况(例如,没有扩展),您可能需要显式编码filepath.Ext句柄,或者如果Go运行在理论上使用扩展分隔符(而不是句点)的O/S上.

Go相关问答推荐

租户GUID X的租户不存在self 邮箱帐户的租户(我是唯一的成员)

如何在链接中写入链接

在Go中旋转矩阵

如何在golang中使用viper获取对象的配置数组?

仅使用公共 api 对 alexedwards/scs 进行简单测试

命令行参数在 Golang 程序中不正确地接受为参数

如何在 fyne-io/fyne 中设置文本的字母间距?

linter 警告:返回值被忽略

gopacket:IP-in-IP 数据包上的解码层

Apache Beam 在 Go 中从 PCollection 中 Select 前 N 行

如何匹配两次出现的相同但随机字符串之间的字符

Go 的垃圾收集器在使用时删除 ZeroMQ 套接字

我在 go 中制作的递归函数有什么问题?

Go cmp - 如何为以 struct 为键的映射定义自定义相等性?

当有多个同名包时如何在vscode中显示golang包完整路径?

有没有办法在 golang 中定义可索引类型?

Ginkgo/Gomega panic 测试失败

Go lang - 惯用的默认后备

GOLANG 如何使用 http.FileServer 从模板目录加载某个 html 文件

行之间的模板交替设计