Need a basename function in Javascript

后端 未结 19 2043
野性不改
野性不改 2020-11-29 02:44

I need a short basename function (one-liner ?) for Javascript:

basename(\"/a/folder/file.a.ext\") -> \"file.a\"
basename(\"/a/folder/file.ext\") -> \"f         


        
19条回答
  •  南笙
    南笙 (楼主)
    2020-11-29 03:28

    Just like @3DFace has commented:

    path.split(/[\\/]/).pop(); // works with both separators
    

    Or if you like prototypes:

    String.prototype.basename = function(sep) {
      sep = sep || '\\/';
      return this.split(new RegExp("["+sep+"]")).pop();
    }
    

    Testing:

    var str = "http://stackoverflow.com/questions/3820381/need-a-basename-function-in-javascript";
    alert(str.basename());
    

    Will return "need-a-basename-function-in-javascript".

    Enjoy!

提交回复
热议问题