
Код:
var s:String = " ";
var str:String = "ya^hi^ui^";
var keyListener:Object = new Object();
keyListener.onKeyDown = function()
{
s = s.concat(String.fromCharCode((Key.getAscii()))).substr(1);
if (s == "ya" || s == "hi" || s == "ui") {
str = del(str, s + "^");
if (str.length == 0) {
trace("the end");
}
}
};
Key.addListener(keyListener);
function del(src:String, s:String):String
{
return src.split(s).join("");
}
upd: Можно проще

Код:
var s:String = " ";
var str:String = "ya^hi^ui^";
var keyListener:Object = new Object();
keyListener.onKeyDown = function()
{
if ((str = str.split((s = s.concat(String.fromCharCode((Key.getAscii()))).substr(1)) + "^").join("")).length == 0) trace("the end");
};
Key.addListener(keyListener);
upd: Можно еще немного сократить =)

Код:
var s:String = " ";
var str:String = "ya^hi^ui^";
Key.addListener({onKeyDown: function(){if ((str = str.split((s = s.concat(String.fromCharCode((Key.getAscii()))).substr(1)) + "^").join("")).length == 0) trace("the end")}})
upd3: Можно еще чутка подсократить.. и все пожалуй на этом.

Код:
Key.addListener({onKeyDown:function(){if((r=(r?r:"ya^hi^ui^").split((s=(s?s:" ").concat(String.fromCharCode((Key.getAscii()))).substr(1))+"^").join("")).length==0)trace("the end")}})