ファイルの拡張子を切り替えたいのですが。例えば:
test_dir/test_file.jpg
与える.txt
必要がありますtest_dir/test_file.txt
。
また、ソリューションが2つの拡張子を持つファイルで機能することを望んでいます。
test_dir/test_file.ext1.jpg
与える.txt
べきであるtest_dir/test_file.ext1.txt
同様に、拡張子のないファイルでは、拡張子を追加するだけです。
test_dir/test_file
.txt
test_dir/test_file.txtを指定する必要があります
これは簡単なはずだと思いますが、簡単な解決策は見つかりませんでした。これが私が今持っているものです。本当に醜いと思いますが、うまくいくようです。
def switch_ext(f, new_ext)
File.join(File.dirname(f), File.basename(f, File.extname(f))) + new_ext
end
これを行うためのよりエレガントな方法はありますか?私はインターネットを見てきましたが、明らかな何かが欠けていると思います。知っておくべき落とし穴はありますか?正規表現を使用しないソリューションが好きです。