正则表达式Javascript在'something'之后删除char

时间:2019-02-10 06:24:30

标签: javascript regex

我有一个类似'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做到这一点?

4 个答案:

答案 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,'?'))
})