替换URL中最后一个字符之后的所有内容

Replace everything after last character in URL

本文关键字:之后 URL 最后一个 字符 替换      更新时间:2023-09-26

我有以下代码,它使用JavaScript替换当前URL:

window.location.replace(window.location.href.replace(/'/?$/, '#/view-0'));

但是,如果我有一个类似的URL:

domain.com/#/testdomain.com/#/

它将把#/view-0附加到当前散列中。我想要的是替换URL最后一部分之后的所有内容,包括任何查询字符串或哈希。

所以假设我的正则表达式不能处理这个。。。我该如何修改它,让它更具侵略性?

以下语法可能会有所帮助:

location.href.replace(/[?#].*$/, '#/view')

它将用#/view替换字符串中?#之后(以及与之一起)的所有内容。

(^[^'/]*?'/)(?:.*)

使用这个。替换为'' 1,然后替换字符串

请参阅演示。

http://regex101.com/r/sA7pZ0/28