例如,我有一个字符串,由“sample.zip”组成。如何使用字符串包或其他方式删除“.zip”扩展名?
原文由 Coder 发布,翻译遵循 CC BY-SA 4.0 许可协议
例如,我有一个字符串,由“sample.zip”组成。如何使用字符串包或其他方式删除“.zip”扩展名?
原文由 Coder 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试:
basename := "hello.blah"
name := strings.TrimSuffix(basename, filepath.Ext(basename))
TrimSuffix 基本上告诉它去掉尾随的字符串,它是带点的扩展名。
原文由 Keith Cascio 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答2.8k 阅读✓ 已解决
2 回答1.3k 阅读
2 回答1.1k 阅读
2 回答1.1k 阅读
3 回答728 阅读
2 回答907 阅读
1 回答815 阅读
编辑:Go 继续前进。请参阅 基思的回答。
使用 path/filepath.Ext 获取扩展名。然后,您可以使用扩展名的长度来检索减去扩展名的子字符串。
或者,您可以使用 strings.LastIndex 来查找最后一个句点 (.),但这可能会更脆弱一些,因为会有边缘情况(例如没有扩展名)
filepath.Ext
处理您可能需要编码对于显式,或者如果 Go 将在使用句点以外的扩展定界符的理论 O/S 上运行。