我在变量中有一个文件位置,我需要做的就是从最后/
开始获取值。
例如,我的变量(名为myfile
)的内容看起来像/home/tony/files/test.pdf
或/tmp/admin.doc
。我只想转到变量的末尾然后向后走,直到我到达/
,然后从该点开始取值。
有什么想法吗?
答案 0 :(得分:5)
您可以使用String.substring()
和String.lastIndexOf()
完成此操作:
var index = myfile.lastIndexOf('/');
if(index != -1)
{
var newStr = myfile.substring(index + 1);
}
另一种方法是使用正则表达式:
var newStr = myfile.replace(/^.*\/(?=[^\/]*$)/, '');
答案 1 :(得分:0)
var location = "/home/time/json.pdf";
var parts = location.split('/');
var index = parts.length-1;
alert(parts[index]);
这样做会,但是使用正则表达式或子字符串我猜你可以更快地做到这一点。
答案 2 :(得分:0)
如果你这样写,没有任何目录路径的文件名将保持不变。
myfile.substring(myfile.lastIndexOf('/')+1);
答案 3 :(得分:0)
使用正则表达式
var filePath = '/home/tony/files/test.pdf';
var fileName = filePath.match(/[^\/]*$/);
document.write(fileName);
没有正则表达式
var filePath = '/home/tony/files/test.pdf';
var fileName = filePath.split('/').pop();
document.write(fileName);