2012-08-04 21 views
14

Dosya adı javascript'te dize yolundan nasıl alınır? Eğer isterdim nedenDosya adı javascript'te dize yolundan mı geliyor?

var nameString = "/app/base/controllers/filename.js"; 
    var filename = nameString.split("/").pop(); 
+0

olası yinelenen [Nasıl JavaScript kullanarak tam yoldan dosya adını almak için? ] (http://stackoverflow.com/questions/423376/how-to-get-the-file-name-from-a-full-path-using-javascript) –

cevap

77

bu deneyin benim kodudur Bunu yapmak için bize bir regex. Şüphesiz şu yeterli olacaktır:

var nameString = "/app/base/controllers/filename.js"; 
var nameArray = nameString.split('/'); 
var name = nameArray[nameArray.length - 1]; 
+5

Basit, teğet olmayan bir yanıt görmek güzel. – AlexMA

+2

'-1' parametresi gerekli değildir (aslında göz ardı edilir). https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/pop – AKX

+0

oh evet, haklısınız. – levi

6

Bilmiyorum: Burada

var nameString = "/app/base/controllers/filename.js"; //this is the input path string 

sadece dosya adını almak için buraya bir şeyler yapmak

var name = ??? //this value should equal to filename.js 
+0

kullanmanız gerekiyor Bir kişi makul bir şekilde kullanılabilir, ancak size katılıyorum. Bir regex, kötü yolları ayrıştırmak için yararlı olabilir. – AlexMA

+0

Bu gerçekten cevap olmalı, çok daha esnek. –

-1

saf regex çözüm: \/([^\\\/:*?\"<>|]+)$
Gruptan 1'den dosya adını alacak

ait