String 比较AS3中的句子(字符串)
我正在做一个简短的测试,用户需要输入首字母缩略词的意思。 这意味着我需要将用户键入的长字符串(通常是一个句子)与首字母缩略词进行比较 我觉得我做得不对。对于我的测试,我复制粘贴正确的答案,以确保拼写正确,但我不断得到反馈,答案是错误的 我的问题是,我的比较正确吗 这是我的密码:String 比较AS3中的句子(字符串),string,actionscript-3,String,Actionscript 3,我正在做一个简短的测试,用户需要输入首字母缩略词的意思。 这意味着我需要将用户键入的长字符串(通常是一个句子)与首字母缩略词进行比较 我觉得我做得不对。对于我的测试,我复制粘贴正确的答案,以确保拼写正确,但我不断得到反馈,答案是错误的 我的问题是,我的比较正确吗 这是我的密码: var arrQuestions:Array = [["LOL","Laughing Out Loud"], ["OMG", "Oh My God"], ["BTW", "By The Way"]]; var i:Nu
var arrQuestions:Array = [["LOL","Laughing Out Loud"], ["OMG", "Oh My God"], ["BTW", "By The Way"]];
var i:Number=0;
function setup():void {
quiztext_txt.text = arrQuestions[i][0];
trace(quiztext_txt.text);
trace(arrQuestions[i][1]);
check_btn.addEventListener(MouseEvent.CLICK, clickHandler);
}//End of Setup()
setup();
function clickHandler(event:MouseEvent):void {
var givenString:String;
var inputString:String;
inputString = userinput_txt.text;
givenString = arrQuestions[i][1];
if (inputString == givenString) {
feedback_txt.text = "Correct!";
} else {
feedback_txt.text = "Wrong!";
}
}
用户输入前后是否有空格?
i
的值是否在两者之间变化
else
{
//what does it trace?
trace("given answer: " + inputString + "\ncorrect answer: " + givenString);
feedback_txt.text = "Wrong!";
}
尝试清除设置函数中的文本字段,如下所示:
function setup():void
{
userinput_txt.text = "";
quiztext_txt.text = arrQuestions[i][0];
trace(quiztext_txt.text);
trace(arrQuestions[i][1]);
check_btn.addEventListener(MouseEvent.CLICK, clickHandler);
}//End of Setup()
对于任何类型的字符串匹配,我强烈建议查看正则表达式(RegExp)。在下面编写的正则表达式中,我匹配每个单词,然后我说
[]+
,意思是“至少有一个或多个空格”,然后在表达式末尾使用/gi
表示表达式不区分大小写。在上面的代码中,如果我用小写字母键入短语,那么它将不匹配,一个快速修复方法是使用if(inputString.toLowerCase()==givenString.toLowerCase())
,它将捕捉到这一点。下面是regexp示例:
// testString could easily equal myTextField.text
var testString:String = "lauGHing OuT loUD";
// you could store each one in an array, as you were before
var regEx:RegExp = /laughing[ ]+out[ ]+loud/gi
trace( regEx.test( testString ) ); //returns true,test() returns a Boolean
希望这有帮助。这里的变量i是什么?您多次使用它,但我从未看到它被初始化。嗨,spender,我正在编辑我的代码,以便您可以看到I变量。我将在将来使用它移动到阵列中的下一个位置。嗨,Amarghosh,当所有这些发生时,I还没有改变,它将在单击“下一步”按钮后改变。我尝试了你的Else代码,从我所看到的,给定的&输入字符串是正确的。如何判断是否存在不需要的空间?跟踪(inputString.length+,“+givenString.length);