为了账号安全,请及时绑定邮箱和手机立即绑定

修剪字符串的后缀或扩展名?

修剪字符串的后缀或扩展名?

Go
慕神8447489 2021-05-14 05:17:25
例如,我有一个字符串,由“ sample.zip”组成。如何使用字符串包或其他字符串删除“ .zip”扩展名?
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

使用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-05-17
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

尝试:

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

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


查看完整回答
反对 回复 2021-05-17
?
守候你守候我

TA贡献1802条经验 获得超10个赞

这种方式也适用:


var filename = "hello.blah"

var extension = filepath.Ext(filename)

var name = TrimRight(filename, extension)

但是也许Paul Ruane的方法更有效?


查看完整回答
反对 回复 2021-05-17
  • 3 回答
  • 0 关注
  • 205 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信