I have a string that need to be split with a regular expression for applying some modifications.
eg:
const str = "Hello+Beautiful#World";
const splited = str.split(/[\+#]/)
// ["Hello", "Beautiful", "World"]
Now the string has been split with +
or #
.
Now say after applying some modification to the items in the array, I have to join the array using the same separator that used to split, so the character +
and #
has to be in the same position as before.
eg: if i applied some modification string and joined. Then it should be.
Hello001+Beutiful002#World003
How can i do this?
When you place a pattern inside a capturing group, split
will return the matched delimiters as even array items. So, all you need to do is modify the odd items:
var counter=1;
var str = "Hello+Beautiful#World";
console.log(
str.split(/([+#])/).map(function(el, index){
return el + (index % 2 === 0 ? (counter++ + "").padStart(3, '0') : '');
}).join("")
);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With