簡體   English   中英

正則表達式刪除所有以特殊字符開頭的字符串

[英]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對象,並將originpathname

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM