Как вы разделяете строку на массив в Javascript по символу UpperCase?
Итак, я хочу разделить:
'ThisIsTheStringToSplit'
в
('This', 'Is', 'The', 'String', 'To', 'Split')
Ответ 1
Я бы сделал это с помощью .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])/);
Ответ 2
Здесь вы:)
var arr = UpperCaseArray("ThisIsTheStringToSplit");
function UpperCaseArray(input) {
var result = input.replace(/([A-Z]+)/g, ",$1").replace(/^,/, "");
return result.split(",");
}
Ответ 3
.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")
Это также должно обрабатывать числа. Соединение в конце приводит к объединению всех элементов массива в предложение, если это то, что вы ищете