我需要一个短的基本名称函数(一行代码?)用于Javascript:
basename("/a/folder/file.a.ext") -> "file.a"
basename("/a/folder/file.ext") -> "file"
basename("/a/folder/file") -> "file"
这将会剥离路径和任何扩展名。
更新: 对于文件名开头的点应该视为特殊文件。
basename("/a/folder/.file.a.ext") -> ".file.a"
basename("/a/folder/.file.ext") -> ".file"
basename("/a/folder/.file") -> ".file" # empty is Ok
basename("/a/folder/.fil") -> ".fil" # empty is Ok
basename("/a/folder/.file..a..") -> # does'nt matter
basename('.foo')
应该是什么? - bobince/^(?:.*\/(?=[^/]))?([^/]*)\/*$/.exec(pathname)[1]
,这是一个更Unixy或有用的基本名称:任何尾随斜杠都将被忽略,如果输入为空或仅由斜杠组成,则为空字符串,否则为最右侧的非斜杠单词。欢迎评论(请@我)! - mirabilos