1. ホーム
  2. string

[解決済み] 文字列の接尾辞や拡張子をトリミングしますか?

2023-06-12 12:52:28

質問

例えば、"sample.zip"という文字列があるとします。文字列パッケージなどを使って、拡張子 ".zip"を削除するにはどうしたらよいでしょうか。

どのように解決するのですか?

編集部:Goは移動しました。以下を参照してください。 Keith の回答 .

使用方法 パス/ファイルパス.エクステンション を使って拡張子を取得します。そして、拡張子の長さを利用して、拡張子を除いた部分文字列を取得することができます。

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

あるいは 文字列.LastIndex を使って最後のピリオド (.) を見つけることもできますが、これは少し壊れやすくなります。 filepath.Ext が処理するエッジ ケース (拡張子がないなど) があるため、明示的にコーディングする必要があるかもしれませんし、ピリオド以外の拡張子の区切り文字を使用する理論上の O/S で Go が実行された場合、少し壊れやすくなります。