我有一个变量url,它的值如下:'https://xxx?yyy?zzz'
通过for循环,我试图将url拆分为:-https://xxx-yyy-zzz
我做那个除法要归功于(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)方法。
所以,我有以下内容:
let url=https://xxx?yyy?zzz;
if(url.includes("?")) {
for(var i = 0; i <= url.split("?").length; i++) {
urlTotal = url.split("?")[i] + '?'
}
}
我想做的是加入url的前两个部分,如下所示:https://xxx?yyy.
但我也必须记住,如果url有,例如,5'?',我必须学习前四部分。
例如:let url=https://xxx?yyy?zzz?jjj?hhh
结果应如下:https://xxx?yyy?zzz?jjj
谢谢。
let url = 'https://xxx?yyy?zzz?jjj?hhh';
console.log(url.includes('?')?url.split('?').slice(0,-1).join('?'):url);
或者,使用lastIndexOf
:
let url = 'https://xxx?yyy?zzz?jjj?hhh';
console.log(url.includes('?')?url.substring(0,url.lastIndexOf('?')):url);
let str1 = `https://xxx?yyy?zzz`
let str2 = `https://xxx?yyy?zzz?jjj?hhh`
let str3 = `https://stackoverflow.com/`
const parse = (url) => {
if(url.indexOf('?') == -1){
return url
}
let strs = url.split('?')
strs = strs.slice(0,strs.length-1)
return strs.join('?')
}
console.log(parse(str1))
console.log(parse(str2))
console.log(parse(str3))