2012-08-04 64 views
14

如何从JavaScript中的字符串路径获取文件名?从JavaScript中的字符串路径获取文件名?

这里是我的代码

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

做的东西在这里只得到文件名

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

可能重复[如何从使用JavaScript完整路径的文件名? ](http://stackoverflow.com/questions/423376/how-to-get-the-file-name-from-a-full-path-using-javascript) – 2015-03-29 19:52:30

回答

77

试试这个:

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

很高兴看到一个简单的,非正则表达式的答案。 – AlexMA 2012-08-04 03:31:06

+2

'-1'参数不是必需的(事实上被忽略)。 https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/pop – AKX 2012-08-04 03:36:16

+0

哦,是的,你说得对。 – levi 2012-08-04 03:37:39

6

我不知道为什么你要给我们一个正则表达式来做到这一点。当然以下就足够了:

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

可以想见使用正则表达式,但我同意你的看法。虽然正则表达式可能有助于解析不良路径。 – AlexMA 2012-08-04 03:32:20

+0

这真的应该是答案,更灵活。 – 2016-12-11 02:42:33

-1

一个纯粹的正则表达式的解决方案:\/([^\\\/:*?\"<>|]+)$
你会从第1组获取文件名