Sie müssen die Zeichen, die Sie aufteilen möchten, in eine Zeichenklasse einfügen , die der Engine für reguläre Ausdrücke mitteilt, dass "jedes dieser Zeichen eine Übereinstimmung ist". Für Ihre Zwecke würde dies so aussehen:
date.split(/[.,\/ -]/)
Obwohl Bindestriche in Zeichenklassen als Bereichsspezifizierer eine besondere Bedeutung haben (dh [a-z]
dasselbe bedeuten wie [abcdefghijklmnopqrstuvwxyz]
), bedeutet dies , wenn Sie es als letztes Element in der Klasse angeben , einen wörtlichen Bindestrich und muss nicht maskiert werden.
Um zu erklären, warum Ihr Muster nicht funktioniert hat, /-./
weist es die Engine für reguläre Ausdrücke an, mit einem wörtlichen Bindestrich gefolgt von einem beliebigen Zeichen übereinzustimmen ( Punkte sind Platzhalterzeichen in regulären Ausdrücken). Mit "02-25-2010" würde es jedes Mal geteilt, wenn "-2" angetroffen wird, da der Bindestrich und der Punkt mit "2" übereinstimmen.
Daniel Vandersluis
quelle
oder einfach (alles andere als Zahlen):
quelle
Sie könnten nur verwenden
oder
quelle
Teilen Sie es dann auf alles andere als Zahlen auf:
quelle
Angenommen, Ihre Zeichenfolge lautet:
Sie möchten die Zeichenfolge durch die folgenden Trennzeichen teilen:
Sie können die Zeichenfolge folgendermaßen aufteilen:
Schließlich müssen Sie möglicherweise die Elemente im Array zuschneiden:
quelle
oder einfach für Datumszeichenfolgen 2015-05-20 oder 2015.05.20 verwenden
quelle
Versuchen Sie dies stattdessen
date.split (/ \ W + /)
quelle