如何拆分String并添加到ArrayCollection

时间:2011-11-16 09:58:18

标签: actionscript-3 flex

我有一个这样的字符串:

var tempSting:String = "abc@abc.com;xyz@xyz.com"

我想将此字符串添加到ArrayCollection中。上面的字符串应按邮件ID划分,并删除;符号,并需要添加为ArrayCollection

tempAc:Arraycollection = new ArrayCollection{abc@abc.com, xyz@xyz.com}

请帮我将split String添加到ArrayCollection中。

2 个答案:

答案 0 :(得分:9)

var tempString:String="abc@abc.com;xyz@xyz.com";
var tempArray:Array=tempString.split(";");

//tempAc is a predefined and presumably prepopulated arraycollection    

for each(var email:String in tempArray) {
    tempAc.addItem(email);
}

编辑现在,我看到Shane的答案,我必须添加以下内容:

此代码将数组附加到arraycollection。如果您只想创建一个新的arraycollection,您需要做的就是:

var tempAc:ArrayCollection=new ArrayCollection(tempArray);

或1行,

var tempAc:ArrayCollection=new ArrayCollection(tempString.split(";"));

更新 - 回答评论中的问题:

tempAc.getItemAt(i)会在 i 位置为您提供电子邮件ID

tempAc.getItemIndex("someone@email.com")将为您提供arraycollection中存在someone@email.com的索引(如果未包含,则为-1)

tempAc.contains("someone@email.com")将返回truefalse,具体取决于数组中是否包含字符串

因此,要检查重复的ID,您所要做的就是:

var newEmailId:String="someone@email.com";
if(!tempAc.contains(newEmailId)) {
    tempAc.addItem(newEmailId);
}

答案 1 :(得分:6)

var tempString:String = "abc@abc.com;xyz@xyz.com";
tempAC:ArrayCollection = new ArrayCollection(tempString.split(";"));