如何解决删除所有文字,直到一个字符
我目前有这样的网址路径:
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的最后一部分。
没有不可读的正则表达式