是否可以从src文件路径获取没有扩展名的文件名。
举个例子,假设src文件是my-file.png - 位于images / my-file.png。
在我的任务中,我现在有这个:
var processName = options.processName || function (name) { return name; };
var filename = processName(filepath);
当我引用filename
输出时,它返回:
images/my-file.png
我想只返回实际的文件名,没有路径,没有扩展名:
my-file.png
我怎样才能做到这一点?
答案 0 :(得分:2)
可能很老,但如果其他人发现这个,那么,回复@ user3143218的评论:
slice(0,-4)将从名称中删除最后4个字符,因此对于示例my-file.png
,我们将获得my-file
,但对于script.js
,我们将获得scrip
。我建议使用正则表达式删除最后一个点的所有内容。
答案 1 :(得分:1)
您可以使用这样的正则表达式:
var theFile = filename.match(/\/([^/]*)$/)[1];
var onlyName = theFile.substr(0, theFile.lastIndexOf('.')) || theFile;
那应该给你my-file
。正则表达式在最后一个正斜杠后给你字符串,下一行删除最后一个点(和点)之后的所有内容。
答案 2 :(得分:0)
感谢Andeersg的回答,我能够解决这个问题。它可能不是最好的解决方案,但它有效。最终代码是:
var processName = options.processName || function (name) { return name; };
var filename = processName(filepath);
var theFile = filename.match(/\/([^/]*)$/)[1];
var onlyName = theFile.slice(0, -4);
现在onlyName
将返回:
my-file