2017-12-20 6 views
1

Ich möchte eine Zeichenfolge teilen enthält Buchstaben gefolgt von Ziffern, das Trennzeichen sollte der nächste Buchstabe sein.JavaScript: Aufteilen von Buchstaben gefolgt von Ziffern

'C3B1A60' ===> [ 'C3', 'B1', 'A60']

Ich habe versucht, SPLIT mit RegEx zu verwenden und es funktionierte gut, außer es zwischen leeren String erzeugt:

var splits = 'C3B1A60'.split(/([A-Z]\d+)/); 
// [ '', 'C3', '', 'B1', '', 'A60', '' ] 

Ich weiß, ich kann umgehen, um sie zu entfernen, aber gibt es eine direkte Möglichkeit, es zu tun ?!

+3

Verwenden ' 'C3B1A60'.match (/ [AZ] \ d +/g)' –

+0

@ WiktorStribiżew Das funktioniert perfekt, ich weiß nicht, wie ich das verpasst, trotzdem danke ! – iseenoob

Antwort

1

Verwenden Sie einfach .filter(Boolean), um nur gewünschte Elemente zu behalten.

var str = 'C3B1A60'; 
 
var splits = 'C3B1A60'.split(/([A-Z]\d+)/).filter(Boolean); 
 
console.log(splits);

Verwandte Themen