Comment diviser une chaîne en un tableau en JavaScript par un caractère UpperCase?
Je souhaite donc partager:
'ThisIsTheStringToSplit'
dans
('This', 'Is', 'The', 'String', 'To', 'Split')
Je ferais cela avec .match()
comme ceci:
'ThisIsTheStringToSplit'.match(/[AZ][az]+/g);
Il fera un tableau comme ceci:
['This', 'Is', 'The', 'String', 'To', 'Split']
string.split()
: puisque la méthode string.split()
prend également en charge regex, elle peut être obtenue comme celle-ci
'ThisIsTheStringToSplit'.split(/(?=[AZ])/); // positive lookahead to keep the capital letters
Cela résoudra également le problème à partir du commentaire:
"thisIsATrickyOne".split(/(?=[AZ])/);
Vous voilà 🙂
var arr = UpperCaseArray("ThisIsTheStringToSplit"); function UpperCaseArray(input) { var result = input.replace(/([AZ]+)/g, ",$1").replace(/^,/, ""); return result.split(","); }
.match(/[AZ][az]+|[0-9]+/g).join(" ")
Cela devrait également traiter les nombres … la jointure à la fin permet de concaténer tous les éléments du tableau à une phrase si c'est ce que vous recherchez