You can also use the mx.utils.StringUtil class, which has the substitute method.
Patrick Lachlan Cotter a écrit : > Hi Misael, > > That would be useful as ActionScript string concatenation operations > are fairly clumsy with more than a few pieces. Unfortunately the AS > String class doesn't seem to have such functionality. It's not so hard > to roll your own, because you don't need to worry about the various > types, you just need a single token and call toString() on all the > arguments. Here's a sketch of something, but it's not very robust. You > would have to add checking for zero-length arguments and other > unexpected conditions. It might get a bit trickier also if you want to > do various number formats like hexadecimal. > > <?xml version="1.0" encoding="utf- 8"?> > <mx:Application xmlns:mx=" http://www.adobe. com/2006/ mxml > <http://www.adobe.com/2006/mxml> " layout=" absolute " > creationComplete= "testFormat( )" > > <mx:Script> > <![CDATA[ > import mx.controls. Alert; > > public function stringFormat (format:String, ... args):String > { > var parts:Array = format.split( '%@' ); > > // Parts should have one more element that args. > if (parts.length != args.length + 1) > throw new Error( "Problem with your logic!" ); > > var output:String = parts[0]; > > for ( var i:Number = 0; i < args.length; i++) { > output += args[i].toString( ); > output += parts[i + 1]; > } > > return output; > } > > public function testFormat (): void > { > var str:String = stringFormat( "Test, %@, insertion, %@, of, %@ vars" , > 42, 'a string' , {prop: 'test' }); > > Alert.show(str) ; > } > ]]> > </mx:Script> > </mx:Application> > > Cheers, > Lach > > > On 07/11/2006, at 11:13 PM, Misael wrote: > >> Hi, >> >> is there an utility class, function or anything in AS3 with similar >> functionality of C printf function? I need to format a string just >> like I do it with this function, along with all the capabilities >> which comes along (%d, %s, etc). >> >> Thanks! > >

