2016-04-07 17 views
0

URLからファイル拡張子を抽出したいと思います。たとえば、http://www.url.com/index.htmlです。私は関数extensionのようなものになります。ここではextension(http://www.url.com/index.html)が返りますhttpです。私が与えたURLの場合、このタスクは簡単ですが、クエリパラメータがある場合、つまりhttp://www.url.com/index.html?q=barはどうなりますか?nodejsでURLの拡張子を抽出するにはどうすればよいですか?

UPDATE

function extension(url) { 
    var components = url.split('/'); 
    var lastComponent = components[components.length-1]; 
    return lastComponent.split('?')[0].split('.')[1]; 
} 

私は広範囲にまだそれをテストしhave't:

これは私がこれまで得てきたものです。そこは良いですか?

+0

/Web/JavaScript/Guide/Regular_Expressions)しかし、ファイル名には複数の '.'がある場合があるという点を除いて、あなたのソリューションに何か問題があるとは思われません。それは、インデックス1のものではなく、 '.'で分割した後の最後の要素を得る価値があるかもしれません。これは全体のニックピッキングです:D –

答えて

0

これはとして、var Sを導入することなく行うことができます。https://developer.mozilla.org/en/docs(あなたは、[正規表現]で少しより堅牢これを行うことができるかもしれない

var fileExtension = function(url) { 
    return url.split('.').pop().split(/\#|\?/)[0]; 
} 
関連する問題