Reputation: 6707
sample input (orgtext = a[crlf]b[space]c[crlf] )
I like to store each word a,b, c to the words array with the original suffix crlf or space. Currently calling SPLIT drops the suffix as its separator, but I like to store separator as well. Can I adjust regexp to return also suffix and still split?
Words = new Array;
var ar: Array = orgtext.split( /\s+/ );
for (var i:int = 0; i<ar.length;i++ )
{
Words.push( ar[i] +"suffix here" );
}
Upvotes: 0
Views: 1376
Reputation: 84744
Generally you would use keep calling exec with an expression that uses the global (g) so that the lastIndex will be set.
var input : String = "asd asd asd asd";
var output : Array = new Array();
var expr : RegExp = /[^\s]+(?:$|\s+)/g;
var result : Object = expr.exec(input);
while(result != null)
{
input.push(result[0].toString());
result = expr.exec(input);
}
Depending on the number of matches you can expect, it might be faster to use...
([^\s]+(?:$|\s+))+
... which will capture all possible matches in one exec(). The matches will be available in result[1] ... result[n]
Upvotes: 1