删除所有文字,直到一个字符

问题描述

我目前有这样的网址路径:

var str = "http://stackoverflow.com/i-like-upVotes/you-do-too";

我希望删除/删除所有字符串,直到最后一个/斜杠。

如果我想替换最后一个斜杠,我会这样得到:

console.log(str.replace(/\/(?=[^\/]*$)/,'#'));

但是我想删除直到最后一个斜杠的所有内容,但我无法弄清楚。 在上面的示例中,我会回来

you-do-too

有什么想法吗?

解决方法

var str = "http://stackoverflow.com/i-like-upvotes/you-do-too";
console.log(str.replace(/^.*\//,''));

  • ^匹配字符串的开头。
  • .*匹配任何内容。
  • \/匹配斜杠。

由于.*是贪婪的,因此它将匹配所有内容,直到最后一个斜杠为止。我们将其替换为空字符串。

,

我知道它并不漂亮,但是您可以执行str.split('/').pop()来获取URL的最后一部分。
没有不可读的正则表达式