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

Removing data before the last forward slash in a string

本文关键字:数据 字符串 最后一个 删除      更新时间:2023-09-26

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

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

有什么想法吗?

您可以使用String.substring()String.lastIndexOf():来完成此操作

var index = myfile.lastIndexOf('/');
if(index != -1)
{
    var newStr = myfile.substring(index + 1);
}

另一种方法是使用正则表达式:

var newStr = myfile.replace(/^.*'/(?=[^'/]*$)/, '');
var location = "/home/time/json.pdf";
var parts = location.split('/');
var index = parts.length-1;
alert(parts[index]);

这可以做到,但使用regex或子字符串,我想你可以做得更快。

如果您这样写,那么不带任何目录路径的文件名将原封不动地返回。

myfile.substring(myfile.lastIndexOf('/')+1);

使用Regex

var filePath = '/home/tony/files/test.pdf';
var fileName = filePath.match(/[^'/]*$/);
document.write(fileName);

无Regex

var filePath = '/home/tony/files/test.pdf';
var fileName = filePath.split('/').pop();
document.write(fileName);