Chaîne de partage Javascript sur les caractères UpperCase

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