【问题标题】:Need regex for parts of string in urlurl中的部分字符串需要正则表达式
【发布时间】:2014-10-18 03:23:15
【问题描述】:

我拥有的是这个字符串..

/website.com/index.php/Tools/Misc/renderer

我需要从中得到的是

/website.com/index.php/Tools/Misc/

我可以使用 jQuery 和/或纯 javascript 来获取此字符串。

【问题讨论】:

  • 如果你想要一个正则表达式,你需要更具描述性。是否总是如此(删除 URI 的最后一段)?你如何处理查询/搜索字符串?当路径没有碎片时怎么办 - 你期望什么?
  • 幸运的是,它永远都是这种形式。

标签: javascript regex url


【解决方案1】:

您可以尝试以下正则表达式来删除最后一个 / 符号之后的所有字符。

> "/website.com/index.php/Tools/Misc/renderer".replace(/[^\/]*$/g, '')
'/website.com/index.php/Tools/Misc/'

【讨论】:

    【解决方案2】:

    只需这样做,无需正则表达式

    var str = "/website.com/index.php/Tools/Misc/renderer";
    var newStr = str.substr(0,str.lastIndexOf('/')+1);
    console.log(newStr); // "/website.com/index.php/Tools/Misc/"
    

    如果您不想要尾部斜杠,请删除第二行中的 +1。

    【讨论】:

    • 这是不是使用正则表达式或以下拆分和连接方法的首选方法?
    • @Angelo 我会说是的,因为正则表达式有点矫枉过正,创建数组和加入一个简单的工作也太矫枉过正了。
    【解决方案3】:

    这会删除路径的最后一部分

    var st = '/website.com/index.php/Tools/Misc/renderer'.split(/\/[^/]+$/).join('/');
    

    【讨论】:

      猜你喜欢
      • 2017-09-05
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多