Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
Flash Actionscript索引问题_Flash_Actionscript 3_Carriage Return_Indexof - Fatal编程技术网

Flash Actionscript索引问题

Flash Actionscript索引问题,flash,actionscript-3,carriage-return,indexof,Flash,Actionscript 3,Carriage Return,Indexof,当我在AS3中创建一个文本字段,将multiline设置为true,并将文本等同为: “你好\r你好” 我无法使用indexOf函数检索\r的索引位置,它总是返回-1 有人知道我做错了什么吗 var txt:TextField; txt.multiline = true; txt.text = "Hola \r hola"; //txt now renders fine with the line break trace(txt.indexOf("\r")); //Returns -1,

当我在AS3中创建一个文本字段,将multiline设置为true,并将文本等同为:

“你好\r你好”

我无法使用indexOf函数检索\r的索引位置,它总是返回-1

有人知道我做错了什么吗

var txt:TextField;
txt.multiline = true;

txt.text = "Hola \r hola";

//txt now renders fine with the line break

trace(txt.indexOf("\r")); //Returns -1, should return the valid index of \r in txt

在我看来,您正在尝试获取TextField的索引,而不是您感兴趣的TextField.text

trace(txt.text.indexOf("\r"));

可以做得更好。

在我看来,您正在尝试获取TextField的索引,而不是您感兴趣的TextField.text

trace(txt.text.indexOf("\r"));

可以做得更好。

按照Mikko的回答,我试了一下:

var textField:TextField = addChild(new TextField()) as TextField;
textField.multiline = true;

textField.text = "test \r test";

trace("result>" + textField.text.indexOf("\r"));
此代码跟踪:

result>5
。。。正如所料


如果它仍然不适用于您,请首先尝试搜索除\r之外的其他字符,如果这样做有效,请尝试搜索\n。也许换行符会被改变。(您使用的是哪种操作系统?

根据Mikko的回答,我尝试了一下:

var textField:TextField = addChild(new TextField()) as TextField;
textField.multiline = true;

textField.text = "test \r test";

trace("result>" + textField.text.indexOf("\r"));
此代码跟踪:

result>5
。。。正如所料


如果它仍然不适用于您,请首先尝试搜索除\r之外的其他字符,如果这样做有效,请尝试搜索\n。也许换行符会被改变。(您使用的是哪种操作系统?

好的,首先

您没有实例化textfield,只是做了一个引用

其次,indexOf对TextField类不可用,但对String类可用,因此使用以下命令,您将不会遇到更多问题。这对我来说很好

var txt:TextField = new TextField();
addChild(txt);
txt.multiline = true;
txt.text = "Hola \r hola";

trace(txt.text.toString().indexOf("\r"));
西奥基本上是对的,但我想我会试着把它弄清楚一点


希望我能帮忙。此外,我还建议检查正则表达式,正则表达式可以很容易地找到空白字符或任何其他您能想到的模式。

好的,首先

您没有实例化textfield,只是做了一个引用

其次,indexOf对TextField类不可用,但对String类可用,因此使用以下命令,您将不会遇到更多问题。这对我来说很好

var txt:TextField = new TextField();
addChild(txt);
txt.multiline = true;
txt.text = "Hola \r hola";

trace(txt.text.toString().indexOf("\r"));
西奥基本上是对的,但我想我会试着把它弄清楚一点


希望我能帮忙。此外,我还建议检查正则表达式,正则表达式可以很容易地找到空白字符或任何您能想到的其他模式。

Brian,txt.text是否返回字符串?当然,我本可以把我的文本写得更清楚一点,但我的跟踪行是正确的。它确实正确,但您使用的是toString()。你会看到自动完成弹出窗口,这对初学者非常有用,在我看来,在完成窗口的帮助下,他早就知道了。布赖恩,txt.text不返回字符串吗?当然,我本可以把我的文本写得更清楚一点,但我的跟踪行是正确的。它确实正确,但您使用的是toString()。你会得到一个自动完成弹出窗口,它对初学者非常有用,在我看来,他早就在完成窗口的帮助下解决了这个问题。Brian,indexOf对于TextField类不可用,但是txt.text返回一个字符串,所以你不需要再将它转换为字符串。勾选这里:我知道它是一个字符串,但在键入句点后说toString(),你会得到自动完成框弹出窗口,显示可用的属性和方法:)我认为这会对tjames有所帮助。Brian,TextField类无法使用indexOf,但txt.text返回一个字符串,因此你不需要再次将其转换为字符串。勾选此处:我知道这是一个字符串,但在键入句点后说toString(),会弹出自动完成框,显示可用的属性和方法:)我认为这会对tjames有所帮助。感谢您更好地编写我的快速答案,我没有看到初始化问题。:)谢谢,这是你犯了一个愚蠢的错误却什么都不管用的日子。糟糕的我。现在可以了。谢谢你更好地写下我的快速答案,我没有看到初始化问题。:)谢谢,这是你犯了一个愚蠢的错误却什么都不管用的日子。糟糕的我。现在工作。