...

View Full Version : split() with regexp in FF2 returns an array including delimiters?



Leeoniya
06-06-2007, 05:43 AM
var myString = "hello0x0there";
splitString = string.split(/(0x0){1}/);

in firefox the returned array is 3 elements long, with the middle one being the actual 0x0.

is this the intended implementation, and why?

Leon

GJay
06-06-2007, 08:01 AM
the ()s in the regexp mean it will 'capture', to exclude the delimiter, you would want to use:


splitString = string.split(/(?:0x0){1}/);

The ?: makes the bracketed group 'non-capturing'. In the example you've given, then grouping with {1} isn't needed though, so you could just use


splitString = string.split(/0x0/);

or do away with RE all together, and use:


splitString = string.split('0x0');



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum