I have a Camel case string like this s = 'ThisIsASampleString'
and I want to split into an array using the capital letters as the delimiting point. I am expecting this:
['This', 'Is', 'A', 'Sample', 'String']
Here is what I have done so far
s = "ThisIsASampleString";
var regex = new RegExp('[A-Z]',"g");
var arr = s.split(re);
But this is not giving me the correct result because it removes the matched character. I am getting this array as my result ["his", "s", "", "tring"]
. It has removed all the matched capital letters.
How should I avoid this behavior and keep the matched characters also in my result array?
Your regex would split based on the uppercase but the result array doesn't include the matched value. Instead use positive look-ahead assertion to assert the position.
Regex explanation here
Or you can use
String#match
method instead.Regex explanation here