[英]Regex remove all string start with special character
我有一個字符串看起來像:
var str = https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none
我想從開始刪除?pid=
結束。 結果如下:
var str = https://sharengay.com/movie13.m3u8
我試過了:
str = str.replace(/^(?:?pid=)+/g, "");
但是它顯示如下錯誤:
無效的正則表達式:/ ^(?:?pid =)+ /:無需重復
您可以創建一個URL對象,並將origin
和pathname
:
var str = "https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none"; var url = new URL(str); console.log(url.origin + url.pathname);
您可以使用拆分
var str = "https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none" var result = str.split("?pid=")[0]; console.log(result);
如果您真的想使用正則表達式在字符串級別執行此操作,只需將/\\?pid=.*$/
替換為""
:
str = str.replace(/\?pid=.*$/, "");
匹配?pid=
及其?pid=
所有內容( .*
)直至字符串( $
)的末尾。
現場示例:
var str = "https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none"; str = str.replace(/\\?pid=.*$/, ""); console.log(str);
您必須逃脫?
如果要從那時刪除所有內容,則還需要一個.+
:
str = str.replace(/\?pid=.+$/, "")
您可以使用拆分功能僅獲取不含查詢字符串的網址。
這是例子。
var str =' https ://sharengay.com/movie13.m3u8?pid= 144.21.112.0& tcp= none ';
var data = str.split(“?”);
警報(數據[0]);
您可以簡單地使用split(),我認為這很簡單。
var str = "https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none"; str = str.split("?pid"); console.log(str[0]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.