识别输入文本Actionscript 3.0中的某些文本

时间:2015-08-28 23:45:13

标签: actionscript-3 flash text input

好的,你好。只是有一个简单的问题要问。在基本术语中,我正在尝试在Flash和Actionscript中开发TextEditor,而我正在尝试做的是确定是否"addEventListener" 已输入到我的输入字段中。从那里我想改变区域的颜色"addEventListener",例如蓝色。

所以我只是想知道最基本的方法是什么

2 个答案:

答案 0 :(得分:0)

首先,您需要找到该单词的所有实例,然后为它们设置文本格式。这样的事情:(假设您的文本输入称为Pusher

txt

答案 1 :(得分:0)

可以使用RegExp类获取匹配和位置:

    // change wholeText to a class variable or function param
    var wholeText:String = "...addEventListener( Event...";
    var pattern:RegExp = /addEventListener/g; 
    var result:Array = pattern.exec( wholeText ); 

    while ( result != null ) 
    { 
        trace( result.index, pattern.lastIndex, result ); 
        result = pattern.exec( wholeText ); 
    }

...要包含格式,你会......

    var tf:TextFormat = new TextFormat( null, null, 0x0000ff );
    var wholeText:String = "...addEventListener( Event...";
    var pattern:RegExp = /addEventListener/g; 
    var result:Array = pattern.exec( wholeText ); 

    while ( result != null ) 
    { 
        wholeText.setTextFormat( tf, result.index, pattern.lastIndex );
        result = pattern.exec( wholeText ); 
    }

我没有对BadFeelingAbout这个方法进行性能检查。我将其作为一种更紧凑的解决方案提供。

当然,您可以轻松地进行功能化,更改

    var pattern:RegExp = /addEventListener/g;

...到...

    function colorizeString( findMe:String ) : void
    {
        // ....
        var pattern:RegExp = new RegExp( findMe, "g" );
        // ...
    }

我把它留作区分大小写。如果您希望它不区分大小写,则将“g”更改为“gi”。

相关问题