Typescript/Javascript:用随机数替换所有出现的字符串

2024-01-07

我有以下函数,用随机数替换字符串出现。我目前所拥有的用相同的随机数替换字符串。我需要一个函数来替换每个实例的唯一编号。这就是我所拥有的。

尝试澄清:

我想找到所有出现的'},{并将其替换为},"random":{ where random是每次出现的唯一整数。

result = this.replaceAll(result, '},{', `},"${this.getRandomInt(1, 2000)}":{`);

private getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

private replaceAll(str, find, replace) {
  return str.replace(new RegExp(this.escapeRegExp(find), 'g'), replace);
}

private escapeRegExp(str) {
  return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}

目前的结果是这样的

},"1340":{"expense_category_id":"63","amount":3},"1340":{"expense_category_id":"62","amount":3}}}}

第1340章 不应该有重复

编辑:全部替换之前结果的值为:

},{"expense_category_id":"63","amount":3},{"expense_category_id":"62","amount":3}}}}

将函数传递给replace()第二个参数是这样的:

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

function replaceAll(str, find, replace) {
  return str.replace(new RegExp(this.escapeRegExp(find), 'g'), replace);
}

function escapeRegExp(str) {
  return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}

var input = '},{"expense_category_id":"63","amount":3},{"expense_category_id":"62","amount":3}}}}',
    result = replaceAll(input, '},{', (x => '},"' + getRandomInt(1, 2000) + '":{'));

console.log(result);

我不确定为什么,但它似乎使用为第一次迭代生成的相同字符串来进行后续迭代。使用函数,您可以强制它每次都运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Typescript/Javascript:用随机数替换所有出现的字符串 的相关文章

随机推荐