私はjqueryを使用して$('img.my_image').attr('src')
の形式で画像への完全なパスを持っていますが、ファイル名の部分だけが必要です(パスを破棄します)。
これを行うための組み込み関数はありますか、または正規表現が唯一のオプションでしょうか?
var fileNameIndex = yourstring.lastIndexOf("/") + 1;
var filename = yourstring.substr(fileNameIndex);
var Filename= path.split('/').pop()
function getFileName(path) {
return path.match(/[-_\w]+[.][\w]+$/i)[0];
}
UNIXおよびWindowsのようなパス文字列を処理するより良いバージョンが見つかりました。
番号1:
var unix_path = '/tmp/images/cat.jpg';
console.log(unix_path.replace(/^.*[\\\/]/, ''));
var win_path = 'c:\\temp\images\cat.jpg';
console.log(win_path.replace(/^.*[\\\/]/, ''));
出力はcat.jpgになります
数2:(おそらく高速)
var unix_path = '/tmp/images/cat.jpg';
console.log(unix_path.split(/[\\\/]/).pop());
var win_path = 'c:\\temp\images\cat.jpg';
console.log(win_path.split(/[\\\/]/).pop());
出力はcat.jpgになります
Javascriptでできること
function getFileNameFromPath(path) {
var ary = path.split("/");
return ary[ary.length - 1];
}
このソリューションを使用すると、両方の名前を取得できます。つまり、ファイル拡張子の有無にかかわらず取得できます。
//画像ソースの取得 var path = $( 'img.my_image')。attr( 'src'); // splitting url and filename with file extension var file = path.split( '/')。pop(); //拡張子を削除してファイル名だけを保持する var filename = file.split( '。')。shift();