我有一个类似'someurl.com/?something=1,2,3'的句子,我想检查字符是否具有rand bit value;
bit x; // Has either 1 or 0 depending on external signal
constraint constraint_c { value dist { x := 3, ~x := 1};};
,然后删除所有字符。
像这样
something=
如何用JavaScript做到这一点?
答案 0 :(得分:0)
使用split
并获取第一个索引将返回something=
之前的字符串。
const urlOne = 'soome.url/?something=1,2,3,1' // 'soome.url/?'
const urlTwo = 'soome.url/nothing?nothingtoo?something=1,2,3,1' // 'soome.url/nothing?nothingtoo?'
const urlThree = 'soome.url/nothing?something=1,2,3,1' // 'soome.url/nothing?'
function strip(url){
return url.split('something=')[0];
}
console.log(strip(urlOne));
console.log(strip(urlTwo));
console.log(strip(urlThree));
答案 1 :(得分:0)
假设它始终是最后一个参数,则可以split
处的URL something
:
const url = 'soome.url/nothing?nothingtoo?something=1,2,3,1';
const newUrl = url.split("something")[0]
console.log(newUrl)
答案 2 :(得分:0)
您也可以尝试使用substr
进行以下操作。
let url1 = "soome.url/nothing?nothingtoo?something=1,2,3,1";
let pattern = "something=";
let str2 = url1.substr(0, url1.indexOf(pattern) <= 0 ? str1.length : url1.indexOf(pattern));
console.log(str2);
答案 3 :(得分:0)
使用split方法已经有了其他相当不错的答案。
如果您仍然想知道如何使用正则表达式
let arr = [`soome.url/?something=1,2,3,1'`
,`soome.url/nothing?nothingtoo?something=1,2,3,1`,
`soome.url/nothing?something=1,2,3,1`]
arr.forEach(e=>{
console.log(e.replace(/\?(?:something=.*)$/g,'?'))
})