Вам нужно поместить символы, которые вы хотите разделить, в класс символов , который сообщает механизму регулярных выражений, что «любой из этих символов соответствует». Для ваших целей это будет выглядеть так:
date.split(/[.,\/ -]/)
Хотя тире имеют особое значение в классах символов в качестве спецификатора диапазона (т.е. [a-z]
означает то же, что и [abcdefghijklmnopqrstuvwxyz]
), если вы поместите его в последнюю очередь в классе, оно будет означать буквальное тире, и его не нужно экранировать.
Чтобы объяснить, почему ваш шаблон не работает, /-./
указывает механизму регулярных выражений на соответствие буквальному тире, за которым следует любой символ ( точки - это символы подстановки в регулярных выражениях). С «25.02.2010» он будет разделяться каждый раз, когда встречается «-2», потому что тире соответствует, а точка соответствует «2».
Даниэль Вандерслуис
источник
или просто (что угодно, кроме цифр):
источник
ты мог бы просто использовать
или
источник
Затем разделите его на что угодно, кроме чисел:
источник
Скажите, что ваша строка:
Вы хотите разделить строку следующими разделителями:
Вы можете разделить строку следующим образом:
Наконец, вам может потребоваться обрезать элементы в массиве:
источник
или просто используйте для строк даты 2015-05-20 или 2015.05.20
источник
попробуйте это вместо
date.split (/ \ W + /)
источник