views:

83

answers:

1

So I have a string "SmartUserWantsToLive" I want to generate from it or any such string with capital letters strings like "Smart User Wants To Live". How do I do this?

+2  A: 
var str1:String = 'SmartUserWantsToLive';
var str2:String = str1.replace( /([A-Z])/g, ' $1' );

// split first character when it was a space, to support strings like 'fooBar'
if ( str2.charAt( 0 ) == ' ' )
    str2 = str2.substr( 1 );

trace( str2 ); // 'Smart user Wants To Live'

edit: Per comment

var str3:String = 'SomeUsefulAPIFooBar';
var str4:String = str3.replace( /((?<![A-Z])[A-Z]|[A-Z](?![A-Z]))/g, ' $1' );

if ( str4.charAt( 0 ) == ' ' )
    str4 = str4.substr( 1 );

trace( str4 ); // 'Some Useful API Foo Bar'
poke
Brilliant!) and hoew to for example keep word API frob braking apart?
Blender
Updated my answer.
poke