2012-02-21 2 views
0

У меня есть расположение файла в переменной, и все, что мне нужно сделать, это получить значение с последнего / и далее.Удаление данных перед последней косой чертой в строке

Например, содержимое моей переменной (с именем myfile) будет выглядеть как /home/tony/files/test.pdf или /tmp/admin.doc. Я просто хочу перейти к концу переменной и вернуться назад, пока не доберусь до /, а затем возьму значение с этой точки и далее.

Любые идеи?

+4

'Ластин dexOf ('/') 'ваш друг – biziclop

+0

принять комментарий как ответ :) –

ответ

5

Вы можете сделать это с помощью String.substring() и String.lastIndexOf():

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

Другой способ сделать это было бы использовать регулярные выражения:

var newStr = myfile.replace(/^.*\/(?=[^\/]*$)/, ''); 
+0

Wow большое спасибо за ваш быстрый ответ и ответ. Ты сделал это так просто :) – user1223680

0
var location = "/home/time/json.pdf"; 
var parts = location.split('/'); 
var index = parts.length-1; 
alert(parts[index]); 

это будет делать это, но с регулярным выражением или подстрока, я думаю, вы могли бы сделать это намного быстрее.

0

Если вы напишете это так, имя файла без какого-либо пути каталога будет возвращено без изменений.

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

с 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);