Anda perlu meletakkan karakter yang ingin Anda pisahkan dalam kelas karakter , yang memberi tahu mesin ekspresi reguler "salah satu karakter ini cocok". Untuk tujuan Anda, ini akan terlihat seperti:
date.split(/[.,\/ -]/)
Meskipun tanda hubung memiliki arti khusus dalam kelas karakter sebagai penentu rentang ( [a-z]
artinya sama dengan [abcdefghijklmnopqrstuvwxyz]
), jika Anda meletakkannya sebagai hal terakhir di kelas, itu dianggap berarti tanda hubung literal dan tidak perlu di-escape.
Untuk menjelaskan mengapa pola Anda tidak berfungsi, /-./
beri tahu mesin ekspresi reguler untuk mencocokkan karakter tanda hubung literal diikuti dengan karakter apa pun ( titik adalah karakter wildcard dalam ekspresi reguler). Dengan "02-25-2010", ini akan dibagi setiap kali "-2" ditemukan, karena tanda hubung cocok dan titik cocok dengan "2".
Daniel Vandersluis
sumber
atau hanya (apa saja kecuali angka):
sumber
Anda bisa menggunakan
atau
sumber
Kemudian pisahkan pada apa pun kecuali angka:
sumber
Katakanlah string Anda adalah:
Anda ingin memisahkan string dengan pembatas berikut:
Anda bisa membagi string seperti ini:
Terakhir, Anda mungkin perlu memangkas elemen dalam array:
sumber
atau cukup gunakan untuk string tanggal 2015-05-20 atau 2015.05.20
sumber
coba ini sebagai gantinya
date.split (/ \ W + /)
sumber