How to get the last part of a string in JavaScript?

后端 未结 6 1371
野趣味
野趣味 2020-12-23 16:22

My url will look like this:

http://www.example.com/category/action

How can I get the word \"action\". This last part of the url (after the last forward slash

相关标签:
6条回答
  • 2020-12-23 16:32
    str.substring(str.lastIndexOf("/") + 1)
    

    Though if your URL could contain a query or fragment, you might want to do

    var end = str.lastIndexOf("#");
    if (end >= 0) { str = str.substring(0, end); }
    end = str.lastIndexOf("?");
    if (end >= 0) { str = str.substring(0, end); }
    

    first to make sure you have a URL with the path at the end.

    0 讨论(0)
  • 2020-12-23 16:33

    Assuming there is no trailing slash, you could get it like this:

    var url = "http://www.mysite.com/category/action";
    var parts = url.split("/");
    alert(parts[parts.length-1]);
    

    However, if there can be a trailing slash, you could use the following:

    var url = "http://www.mysite.com/category/action/";
    var parts = url.split("/");
    if (parts[parts.length-1].length==0){
     alert(parts[parts.length-2]);
    }else{
      alert(parts[parts.length-1]);  
    }
    
    0 讨论(0)
  • 2020-12-23 16:34

    One way:

    var lastPart = url.split("/").pop();
    
    0 讨论(0)
  • 2020-12-23 16:47

    Check out the split method, it does what you want: http://www.w3schools.com/jsref/jsref_split.asp

    0 讨论(0)
  • 2020-12-23 16:50

    Well, the first thing I can think of is using the split function.

    string.split(separator, limit)
    

    Since everyone suggested the split function, a second way wood be this:

    var c = "http://www.example.com/category/action";
    var l = c.match(/\w+/g)
    alert(l)
    

    The regexp is just a stub to get the idea. Basically you get every words in the url.

    l = http,www,example,com,category,action

    get the last one.

    0 讨论(0)
  • 2020-12-23 16:52

    Or the regex way:

    var lastPart = url.replace(/.*\//, ""); //tested in FF 3
    

    OR

    var lastPart = url.match(/[^/]*$/)[0]; //tested in FF 3
    
    0 讨论(0)
提交回复
热议问题