我想删除网址中的所有内容,只保留文件/图片的名称。 URL是动态输入/变量。
代码:
var str = "http://website.com/sudir/sudir/subdir/Image_01.jpg";
str = str.replace("http://website.com/sudir/sudir/subdir/", "")
.replace(/[^a-z\s]/gi, ' ').replace("_", " ")
.replace("subdir", "").toLowerCase().slice(0,-4);
答案 0 :(得分:1)
此功能将为您提供文件名
function GetFilename(url)
{
if (url)
{
var m = url.toString().match(/.*\/(.+?)\./);
if (m && m.length > 1)
{
return m[1];
}
}
return "";
}
答案 1 :(得分:1)
您可以使用lastIndexOf()
轻松完成此操作:
var str = "http://website.com/sudir/sudir/subdir/Image_01.jpg";
str.substring(str.lastIndexOf("/") + 1)
//"Image_01.jpg"
答案 2 :(得分:0)
来自How to catch the end filename only from a path with javascript?
var filename = path.replace(/.*\//, '');
来自Getting just the filename from a path with Javascript
var fileNameIndex = yourstring.lastIndexOf("/") + 1;
var filename = yourstring.substr(fileNameIndex);
答案 3 :(得分:0)
我知道您没有指定确切的网址格式,以及在您的情况下这是否可行,但这可能是一个值得考虑的解决方案。
的Javascript
var str = "http://website.com/sudir/sudir/subdir/Image_01.jpg?x=y#abc";
console.log(str.split(/[?#]/)[0].split("/").slice(-1)[0]);
str = "http://website.com/sudir/sudir/subdir/Image_01.jpg";
console.log(str.split(/[?#]/)[0].split("/").slice(-1)[0]);
上
答案 4 :(得分:0)
您可以随时使用Regex从字符串中提取数据: 正则表达式从URL中提取数据:
"http://website.com/sudir/sudir/subdir/(?<FileName>[0-9A-Za-z._]+)"