Pergunta

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

Foi útil?

Solução

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

Outras dicas

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...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top