我想用正則表達式去掉一個url中的特定參數。正則表達式去除部分URL參數
//Here are the scenarios of what I want to remove in the url
'?pIds=123,2311' => ''
'?pIds=123,2311&deal=true' => '?deals=true'
'?pIds=123' => ''
'?pIds=123&deals=true' => '?deals=true'
'&pIds=123,2311' => ''
'&pIds=123,2311&deals=true' => '&deals=true'
'&pIds=123' => ''
'&pIds=123&deals=true' => '&deals=true'
const a = '?pIds=123,2311&deals=true';
a.replace(/&?pIds=\d+,?\d+/i, '');
這是可能爲這些場景創建一個正則表達式嗎?我怎樣纔能有條件地擁有?或&那裏如果pIds分別是第一個或中間參數?
我會建議的查詢字符串解析出成一個漂亮的地圖/字典結構,刪除不需要的密鑰,然後重新創建查詢字符串。 –