How do I split a string with multiple separators in javascript?

sol picture sol · Mar 16, 2009 · Viewed 554.1k times · Source

How do I split a string with multiple separators in JavaScript? I'm trying to split on both commas and spaces but, AFAIK, JS's split function only supports one separator.

Answer

Aaron Maenpaa picture Aaron Maenpaa · Mar 16, 2009

Pass in a regexp as the parameter:

js> "Hello awesome, world!".split(/[\s,]+/)
Hello,awesome,world!

Edited to add:

You can get the last element by selecting the length of the array minus 1:

>>> bits = "Hello awesome, world!".split(/[\s,]+/)
["Hello", "awesome", "world!"]
>>> bit = bits[bits.length - 1]
"world!"

... and if the pattern doesn't match:

>>> bits = "Hello awesome, world!".split(/foo/)
["Hello awesome, world!"]
>>> bits[bits.length - 1]
"Hello awesome, world!"