我只想www.
從 javascript 中的 URL 中洗掉部分。我試過使用正則運算式/^(?:www\.)?/i
:
"www.example.com".replace(/^(?:www\.)?/i, "")
它適用于上述示例。但它不適用于以協議開頭的 URL,如https://www.example.com
.
這是我要實作的目標的示例:
https://www.example.com/ -> https://example.com/
WWW.example.com/ -> example.com/
uj5u.com熱心網友回復:
如果要洗掉 www 的所有實體,無論它出現在哪里
/www/.replace('')
如果您明確希望確保僅在“www”之后洗掉//
/(\/\/)www/.replace('$1')
如果 www 出現在 DOT 之前,只需替換它
/www(\.)/.replace('$1')
最安全:如果 www 恰好位于查詢字串或散列中,請確保您不會洗掉它
迎合
- 萬維網。
- http://www。
- //萬維網。
/^([^:\.]*)(\:\/\/)?www(\.)/.replace('$1$2$3')
uj5u.com熱心網友回復:
給你:
const str = 'https://www.example.com';
const res = str.match(/^(http(s)?:(\/\/)www\.|www\.)(.*)/);
console.log(res[res.length - 1]);
RegEx
解釋:
^
-> 開始(http(s)?:(\/\/)www\.
-> 匹配應該包含https://www.
或的字串的開頭http://www.
|
-> 表示或www\.
-> 匹配應該包含的字串的開頭www.
- (.*) ==> 使用括號捕獲組,
.
匹配任何內容,*
0 或n
次
uj5u.com熱心網友回復:
這是一個可以解決問題的函式:
function stripWww(s) {
// 3 capturing groups
const regExp = /^(https?:\/\/)?(www\.)?(.*)/;
const regExpArr = regExp.exec(s);
// if no match, just return what was supplied
if (!regExpArr) return s;
// otherwise, compose a new string using groups 1 & 3
// and omitting group 2 ("www.")
// if "http://" or "https://" is not present,
// group 1 will be undefined.
return `${regExpArr[1] ?? ""}${regExpArr[3]}`
}
const data = [
"http://www.example.com",
"https://www.example.com",
"www.example.com",
"example.com",
"http://example.com"
];
console.log(data.map(stripWww))
uj5u.com熱心網友回復:
只需替換關鍵字并填寫空白即可。
例子:
const urlMain = "https://www.example.com";
const endUrl = urlMain.replace("www.","");
console.log("Main Url",urlMain);
console.log("End Url",endUrl);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/507430.html
標籤:javascript 正则表达式 细绳 网址 代替
上一篇:使用selenium從AliExpress獲取所有產品的href
下一篇:如何正確決議網址