Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 比较AS3中的句子(字符串)_String_Actionscript 3 - Fatal编程技术网

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);