Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 12111

Split and relace string at different intervals

$
0
0

I have this string:

saidogAngry Kappa saidogAngry saidogAngry ResidentSleeper ResidentSleeper

I need to replace parts of this string with rep based on an array of this kind:

const eleArray = [{"start": "0","end": "10","rep": "63f5ce1593c142a09d714b34e1938990"}, {"start": "12","end": "16","rep": "25"}, {"start": "18","end": "28","rep": "63f5ce1593c142a09d714b34e1938990"}, {"start": "30","end": "40","rep": "63f5ce1593c142a09d714b34e1938990"}, {"start": "42","end": "56","rep": "245"}, {"start": "58","end": "72","rep": "245"}]

The problem is that after the first replace, all other indexes are altered.

My initial idea was to split it in single sections and then remove/replace them

const msgArray = [];let lastIndex = 0;eleArray.forEach(ele => {  msgArray.push(message.slice(Number(lastIndex), Number(ele.start)));  // msgArray.push(message.slice(Number(ele.start), Number(ele.end+1)));  msgArray.push(ele.rep);  lastIndex = Number(ele.end)+1;});console.log(msgArray.join('');

Is there a simpler or a more optimized way? I need to have the best best performance out of it because I'm creating a text stream with a big quantity of messages.


Viewing all articles
Browse latest Browse all 12111

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>