回答

收藏

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

技术问答 技术问答 359 人阅读 | 0 人回复 | 2023-09-11

例如,我有一个字符串,由sample.zip组成。如何使用字符串包或其他方法删除.zip”扩展名?
4 d9 L+ `6 q  B" q. D                                                               
2 n+ j* O6 s6 b' D, B( _/ H    解决方案:                                                               
3 {4 v. s! Y( O/ |4 Z2 f1 l' h                                                                编辑:Go 继续前进。请参考:' d+ Q4 i6 {0 n, ]$ Z3 h# a) o" Z
尝试:
: M0 ^2 D% h5 A+ A+ o7 f9 Q
    basename := "hello.blah"name := strings.TrimSuffix(basename,filepath.Ext(basename))/ Q- o! M9 D* y. h5 T( k9 ^- |. }
TrimSuffix 基本上告诉它去掉跟随的字符串,这是一个带点的扩展名。
" r; N( ?) U3 l- |. C3 {5 z使用path/filepath.Ext获取扩展名。然后,您可以使用扩展名的长度来检索减去扩展名的子字符串。
5 O" F7 m+ l% V- f4 C
    var filename = "hello.blah"var extension = filepath.Ext(filename)var name = filename[0:len(filename)-len(extension)], r, ~* M6 t5 M
或者,你可以用strings.LastIndex找最后一个句点 (.) 但这可能更脆弱,因为会有一些边缘条件(比如没有扩展名)filepath.Ext如果 Go 是使用除句点以外的扩展分隔符的理论 O/S 上运行。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则