正規表現ベースのソリューションはすでにたくさんありますが、自分のニーズに合ったソリューションを見つけることができませんでした。
URLの一部を取得するために次の関数がありますが、ファイル拡張子も必要です。
var getPathParts = function(url) {
var m = url.match(/(.*)[\/\\]([^\/\\]+)\.\w+$/);
return {
path: m[1],
file: m[2]
};
};
var url = 'path/to/myfile.ext';
getPathParts(url); // Object {path: "path/to", file: "myfile"}
私は正規表現にあまり精通していません。ファイル拡張子を取得するために、この指定された正規表現を拡張できますか?
最善の方法は、ファイル拡張子に3番目(4番目)の値が含まれている場合です。例えば:
return {
path: m[1],
file: m[2],
ext: m[3]
};