2016-05-10 4 views
10

Ist es möglich, Strings in JavaScript von Fall zu spalten, so dass die folgende Zeichenfolge unter (myString) würde in das Array (arr) unten umgewandelt werden:Wie wird eine Zeichenfolge in Groß- und Kleinbuchstaben in JavaScript aufgeteilt?

var myString = "HOWtoDOthis"; 
var myArray = ["HOW", "to", "DO", "this"]; 

Ich habe die Regex versucht, unten, aber es spaltet nur für Camelcase:

.match(/[A-Z]*[^A-Z]+/g); 
+0

Scheint ein Duplikat von http://stackoverflow.com/a/7599674/586030 sein –

+2

Probieren Sie es aus: '/ (?: [AZ] + | [^ AZ] +)/g' https://regex101.com/r/hR3kE3/1 –

+0

das funktionierte perfekt, Schielen - aber ich kann Q nicht so festgelegt wie Sie einen Kommentar geschrieben – Haloor

Antwort

3

Ein anderer Weg, dies zu tun, ist in einer Markierung hinzufügen und dann geteilt, dass die Marker, in diesem Fall eine Doppelausrufezeichen:

JsBin Example

var s = "HOWtoDOthis"; 

var t = s.replace(/((?:[A-Z]+)|([^A-Z]+))/g, '!!$&').split('!!'); 
+1

Warum eine Markierung verwenden? –

Verwandte Themen