Я бы сделал это с .match()
следующим образом:
'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g);
он создаст такой массив:
['This', 'Is', 'The', 'String', 'To', 'Split']
edit: , так какstring.split()
метод также поддерживает регулярное выражение, его можно достичь следующим образом:
'ThisIsTheStringToSplit'.split(/(?=[A-Z])/); // positive lookahead to keep the capital letters
, что также решит проблему из комментария:
"thisIsATrickyOne".split(/(?=[A-Z])/);