SO string replaceaaa
forked from SO randomize venue (diff: 71)
ActionScript3 source code
/**
* Copyright pleclech ( http://wonderfl.net/user/pleclech )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/bOwE
*/
package {
import flash.events.MouseEvent;
import flash.utils.setTimeout;
import com.bit101.components.TextArea;
public class FlashTest extends TextArea {
public function FlashTest() {
width=400
height=400
setTimeout(doTest, 500)
}
public function doTest():void {
// first way explicit loop
var s:String="staaaack";
trace("before", s);
var newStr:String = s.replace(/(st)(a+)(ck)/g, function():String{
var ret:String=arguments[1]; // here match 'st'
//arguments[2] match 'aaa..'
for (var i:int=0, len:int=arguments[2].length; i < len; i++)
ret += "O";
return ret + arguments[3]; // arguments[3] match 'ck'
});
trace("after", newStr); // output stOOOOck
// second way array and join
var s1:String="staaaack staaaaaaaaaaaaack stack paaaack"
trace("before", s1)
var after:String = s1.replace(/(st)(a+)(ck)/g, function():String{
return arguments[1]+(new Array(arguments[2].length+1)).join("O")+arguments[3]
})
trace("after", after)
}
public function trace(...args):void {
text=text+args.join(", ")+"\n"
}
}
}
