如何使用字符串包或其他方式删除“.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 Qbasename := "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 Cvar 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 上运行。 |
|
|
|
|
|