我有一个 200 000 个符号宽的字符串。我需要更换\index{term1}
与 \index0001{term1}
, \index{term2}
与 \index0002{term2}
因此,对于每个术语,我都有一个索引号,我需要将其插入到 \index
之后。 。如果特定术语满足多个,则其索引号仍然相同。
此类替换的数量是事先已知的。我还知道每个替换的确切位置。
怎样才能快速完成?
我是 JS 的新手,在 С++ 中,我会为新字符串分配足够大的缓冲区,并在替换之间复制部分,并在中间插入替换。
最佳答案
您可以分隔数字并填充它,然后将其与匹配的字符串一起返回。
var string = '\index{term1}\index{term2}\index{term95}',
result = string.replace(/\{term(\d+)\}/g, function (match, n) {
n = n.toString();
while (n.length < 4) {
n = '0' + n;
}
return n + match;
});
console.log(result);
关于javascript - 多次插入到一个大字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41919117/