Actionscript 3 识别输入文本Actionscript 3.0中的某些文本
好的,你好。有个简单的问题要问。基本上,我正在尝试用Flash和Actionscript开发一个文本编辑器,例如,我正在尝试识别addEventListener 已输入到我的输入字段中。从那里,我想改变显示addEventListener的区域的颜色,例如,蓝色Actionscript 3 识别输入文本Actionscript 3.0中的某些文本,actionscript-3,flash,text,input,Actionscript 3,Flash,Text,Input,好的,你好。有个简单的问题要问。基本上,我正在尝试用Flash和Actionscript开发一个文本编辑器,例如,我正在尝试识别addEventListener 已输入到我的输入字段中。从那里,我想改变显示addEventListener的区域的颜色,例如,蓝色 所以我想知道做这件事最基本的方法是什么首先,你需要找到这个词的所有实例,然后为它们设置一个文本格式。类似这样:假设您的文本输入名为txt 您可以使用RegExp类获取匹配项和位置: // change wholeText to
所以我想知道做这件事最基本的方法是什么首先,你需要找到这个词的所有实例,然后为它们设置一个文本格式。类似这样:假设您的文本输入名为txt 您可以使用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 );
}
我还没有把这个和对这个方法的不满进行对比。我提供了一个更紧凑的解决方案
当然,您可以轻松地对其进行功能化,更改
var pattern:RegExp = /addEventListener/g;
…到
function colorizeString( findMe:String ) : void
{
// ....
var pattern:RegExp = new RegExp( findMe, "g" );
// ...
}
我把它作为区分大小写的。如果您希望它不区分大小写,您应该将g更改为gi。您找到解决方案了吗?
function colorizeString( findMe:String ) : void
{
// ....
var pattern:RegExp = new RegExp( findMe, "g" );
// ...
}