2009年9月4日金曜日

拡張子を切る

「ファイル名はそのままで拡張子だけ変えたテキストを作りたい」とか、「ファイル名の後ろに"_copy"とつけて別名保存」とかの時に使う。自分コピペ用。
function cutEx(path){
//拡張子を切る
var pathTxt=path, exText="";
var dirCutNo=( (/\//.test(path))? path.lastIndexOf("/") : 0 );
if(/\./.test(path.slice(dirCutNo))){
pathTxt=path.slice(0, path.lastIndexOf("."));
exText=path.slice(path.lastIndexOf("."));
};
return [pathTxt,exText];
};

var filePath="aaa/zasshi.indd";
alert("拡張子: "+cutEx(filePath)[1]+"\nファイルパス: "+cutEx(filePath)[0]);


2010.12.12追記:
この記事で何をしたかったのか思い出し中。
拡張子の前に.のあるファイル名でも、パスより前に.があっても拡張子を取りたくて、あるいは拡張子がなくってもそのパスだけ欲しかったってことか。
今ならこう書く。
function cutEx(path){
return path.split(/(\.[^\.\/]+)$/);
};

var cutPath;
cutPath=cutEx("a.aa/za.sshi.indd")
alert("拡張子: "+cutPath[1]+"\nファイルパス: "+cutPath[0]);

var cutPath;
cutPath=cutEx("/a.aa/zasshi")
alert("拡張子: "+cutPath[1]+"\nファイルパス: "+cutPath[0]);

var cutPath;
cutPath=cutEx("a.aa/za.sshi.txt")
alert("拡張子: "+cutPath[1]+"\nファイルパス: "+cutPath[0]);

0 件のコメント: