如果我们知道要在javascript中替换的字符的前缀,那么如何替换字符串中的几个字符

如果我们知道要在javascript中替换的字符的前缀,那么如何替换字符串中的几个字符,javascript,html,css,reactjs,ecmascript-6,Javascript,Html,Css,Reactjs,Ecmascript 6,我想替换几个字符,如果我们已经知道这些字符的前缀。前任: 如果我的字符串是 限额=100,发布年份=2016年& 我想用 限值=100,发布年份=2017年& 但是字符串是动态的,我们只知道发布年份,所以如果我只知道动态字符串中有发布年份,是否有可能找到2016年并将其替换为2017年。string替换为regex/(.*limit=100&launch\u year=)\d{4}(.*)/ 捕获要替换的年份值周围的前缀和后缀,并用新年重新生成字符串 const data=“limit=100

我想替换几个字符,如果我们已经知道这些字符的前缀。前任: 如果我的字符串是

限额=100,发布年份=2016年&

我想用

限值=100,发布年份=2017年&


但是字符串是动态的,我们只知道发布年份,所以如果我只知道动态字符串中有发布年份,是否有可能找到2016年并将其替换为2017年。

string替换为regex
/(.*limit=100&launch\u year=)\d{4}(.*)/

捕获要替换的年份值周围的前缀和后缀,并用新年重新生成字符串

const data=“limit=100&launch_year=2016&”;
const regex=/(.*launch_year=)\d{4}(.*)/;
constreplaceYear=(data,year)=>data.replace(regex,`1${year}$2`);
控制台日志(替换年份(数据,“2017”);

console.log(替换年份(数据,“2020”)似乎您的输入是一个查询字符串,所以我建议使用解析器,然后更改它

const queryParams = new URLSearchParams('limit=100&launch_year=2016');
queryParams.set('launch_year','2017');
console.log(queryParams.toString() + '&' ); 
// "limit=100&launch_year=2017&"

您好@drew reese,我是否可以建议让正则表达式更加通用,因为
数据
字符串似乎是一个查询字符串,其内容可能会有所不同?在这种情况下,我认为
/(.*launch\u year=)\d{4}(.*)/
更合适。