How to extract end of URL in Javascript?

javascript

Solution

split by slashes `/`, pop off the last and return it

function getImageDirectoryByFullURL(url){
    return url.split('/').pop()
}

//a step by step breakdown
function getImageDirectoryByFullURL(url){
    url = url.split('/'); //url = ["serverName","app",...,"bb65efd50ade4b3591dcf7f4c693042b"]
    url = url.pop();      //url = "bb65efd50ade4b3591dcf7f4c693042b"
    return url;           //return "bb65efd50ade4b3591dcf7f4c693042b"
}

what this does is split the url per `/` and returns an array of values in between, but not including, the slashes. then, since what's returned by `split()` is an array, we can use `pop()` to pop off the last item and return it.

Problem

I have URLs in the form: serverName/app/image/thumbnail/2012/4/23/1335228884300/bb65efd50ade4b3591dcf7f4c693042b Where `serverName` is the domain name of the server. I would like to write a JS function that accepts one of these URLs and returns the very last (right-most) forward-slash-delimited string. So if the URL above was passed into the function, it would return "`bb65efd50ade4b3591dcf7f4c693042b`";. ``` function getImageDirectoryByFullURL(url) { // ... Not sure how to define regexp to delimit on forward slashes, // or how to start searching from end of string. } ```

Original source