正引き表現や .
で区切る方法を考えてたけど path
を使えば簡単だった
path.extname(path)
で拡張子を取得できる
path.extname
で取得できる拡張子は .
始まりの文字列
拡張子が無い場合は空文字列が返される
サーチクエリがある場合は拡張子含まれる
import path from "path"; path.extname('index.html'); // -> '.html' path.extname('index.coffee.md'); // -> '.md' path.extname('index.'); // -> '.' path.extname('index'); // -> '' path.extname('.index'); // -> '' path.extname('.index.md'); // -> '.md' path.extname('/aikatsu/idol/ichigo.md?foo=bar'); // -> '.md?foo=bar'
cf. Path | Node.js v21.7.2 Documentation
ファイル名・拡張子を別々に取得したいときは path.parse(path)
が便利
path.parse()
は root
, dir
(ファイルまでのパス), base
(ファイル名 + 拡張子), name
(ファイル名), ext
(拡張子) のオブジェクトを返す
import path from "path"; path.parse('/home/user/dir/file.txt'); // { root: '/', // dir: '/home/user/dir', // base: 'file.txt', // name: 'file', // ext: '.txt' } const pathData = path.parse('./aikatsu/idol/ichigo.md?foo=bar'); // { root: '', // dir: './aikatsu/idol', // base: 'ichigo.md?foo=bar', // name: 'ichigo', // ext: '.md?foo=bar' }
該当するものがない場合は空文字になる
おわり ₍ᐢ..ᐢ₎
[参考]
今年度もアイカツ!