3804 posts
  • Elite Author
  • Author Level 11
  • Trendsetter
  • 7 Years of Membership
+12 more
KrownThemes
says

Is there any function in js which removes the characters you sliced from the given string? For example:

var initVal = 'removeMEremoveME';
var tempVal = initVal.slice(initVal.lastIndexOf(['removeME']));

After running this, these are the things that i’m looking for:

initVal = 'removeME';
tempVal = 'removeME';

This is what i get instead:

initVal = 'removeMEremoveME';
tempVal = 'removeME';
330 posts
  • Exclusive Author
  • Beta Tester
  • Author Level 5
  • Affiliate Level 2
+2 more
squaredWeb
says

The original initVal stays the same since you never actually change it. Why not just do:

var initVal = 'removeMEremoveME';
var tempVal = initVal.slice(initVal.lastIndexOf(['removeME']));
initVal=tempVal;
3804 posts
  • Elite Author
  • Author Level 11
  • Trendsetter
  • 7 Years of Membership
+12 more
KrownThemes
says

Because in reality:

initVal = 'removeMEremoveMEremoveMEremoveMEremoveME';

And when i do your equality, my initVal is stripped down of all of the “removeME”s .. I need to remove them one by one..

330 posts
  • Exclusive Author
  • Beta Tester
  • Author Level 5
  • Affiliate Level 2
+2 more
squaredWeb
says

I see, i didnt get that from the original post.

Well, you could do something like this: jsfiddle

Its not exactly elegant, but i think its ok to build upon.

5467 posts The Dude Abides
  • Top Monthly Author
  • Trendsetter
  • Weekly Top Seller
  • United States
+13 more
CodingJack
says
var initVal = 'removeMEremoveMEremoveMEremoveMEremoveME',
removeMes = initVal.split('removeME').join('|removeME').split('|'),
tempVal;

removeMes.shift();

while(removeMes.length) {

    removeMes.shift();

    tempVal = removeMes.toString().split(',').join('');

    console.log(tempVal);

}

Traces:

removeMEremoveMEremoveMEremoveME
removeMEremoveMEremoveME
removeMEremoveME
removeME
by
by
by
by
by
by