Flex 3。
我创建了一个TextArea对象。然后我输入了一些文字。然后我使用TextArea.text属性获取此文本。
如何分割由行获得的文本并将其转换为字符串数组?
答案 0 :(得分:1)
如果“\ n”不适合您,请尝试“\ r”(回车)。这里有一些代码演示它是如何工作的 - 只需在框中输入,你就会看到数组内容发生变化:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCreationComplete(event)">
<mx:Script>
<![CDATA[
import mx.events.CollectionEvent;
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable]
private var ac:ArrayCollection;
protected function onCreationComplete(event:FlexEvent):void
{
ac = new ArrayCollection();
ac.addEventListener(CollectionEvent.COLLECTION_CHANGE, onCollectionChange);
}
protected function onKeyUp(event:KeyboardEvent):void
{
ac.source = event.target.text.split("\r");
}
protected function onCollectionChange(event:CollectionEvent):void
{
contents.text = ac.source.join("\r");
}
]]>
</mx:Script>
<mx:TextArea id="input" x="19" y="22" width="273" height="175" keyUp="onKeyUp(event)" />
<mx:TextArea id="contents" x="112" y="249" width="180" height="175" editable="false" />
<mx:Label x="19" y="222" text="Array Length:" fontWeight="bold" />
<mx:Label x="37" y="250" text="Contents:" fontWeight="bold" />
<mx:Label x="111" y="222" text="{ac.length}" />
</mx:Application>
希望它有所帮助!
答案 1 :(得分:0)
“按线分割”对你意味着什么?通常的做法是在textwidth之前扫描文本中的最后一个空格,并将其称为一行。
答案 2 :(得分:0)
根据this site,换行Feed的字符为“\ n”。使用带有“\ n”的Split()函数,您应该能够将字符串拆分为由换行符分隔的字符串数组。