在字符串中的最后一个正斜杠之前删除数据

时间:2012-02-21 15:23:48

标签: javascript

我在变量中有一个文件位置,我需要做的就是从最后/开始获取值。

例如,我的变量(名为myfile)的内容看起来像/home/tony/files/test.pdf/tmp/admin.doc。我只想转到变量的末尾然后向后走,直到我到达/,然后从该点开始取值。

有什么想法吗?

4 个答案:

答案 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);