Domanda

How do I split a string with multiple separators. (JQuery)

var mystring = "(this is my string!)";

I have tried

var words = mystring.split(/[\s(!)]/);

but it does not work

I wanted to have words (array) content to be
[ ( , this , is , my , string , ! , ) ]

Appreciate all the help. Thanks

È stato utile?

Soluzione

split on the characters you choose, and filter the array to remove values that are empty or just spaces (if you don't want them for some reason) ?

var words = (mystring.split(/(\s+|\(|\)|\!)/)).filter(function(n) {return n.trim()});

// returns
// ["(", "this", "is", "my", "string", "!", ")"] 

FIDDLE

Altri suggerimenti

You could do something like this:

mystring.replace( '(', '( ' ).replace( ')', ' )' ).split( ' ' );

However, it really depends on what pattern you expect your input to match. You need to ask yourself questions like, does all of my input start and end with parenthesis? etc...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top