Vous devez mettre les caractères que vous souhaitez diviser dans une classe de caractères , ce qui indique au moteur d'expression régulière "l'un de ces caractères est une correspondance". Pour vos besoins, cela ressemblerait à:
date.split(/[.,\/ -]/)
Bien que les tirets aient une signification particulière dans les classes de caractères en tant que spécificateur de plage (c'est-à-dire [a-z]
signifiant la même chose que [abcdefghijklmnopqrstuvwxyz]
), si vous le placez comme dernière chose dans la classe, cela signifie un tiret littéral et n'a pas besoin d'être échappé.
Pour expliquer pourquoi votre modèle n'a pas fonctionné, /-./
indique au moteur d'expression régulière de faire correspondre un tiret littéral suivi de n'importe quel caractère (les points sont des caractères génériques dans les expressions régulières). Avec "02-25-2010", il se diviserait chaque fois que "-2" est rencontré, car le tiret correspond et le point correspond à "2".
Daniel Vandersluis
la source
ou juste (tout sauf des nombres):
la source
tu pourrais juste utiliser
ou
la source
Puis divisez-le sur autre chose que des nombres:
la source
Dites que votre chaîne est:
Vous souhaitez diviser la chaîne par les délimiteurs suivants:
Vous pouvez diviser la chaîne comme ceci:
Enfin, vous devrez peut-être couper les éléments du tableau:
la source
ou utilisez simplement pour les chaînes de date 20/05/2015 ou 20/05/2015
la source
essayez plutôt ceci
date.split (/ \ W + /)
la source