我有一个这样的字符串:
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中。
答案 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")
将返回true
或false
,具体取决于数组中是否包含字符串
因此,要检查重复的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(";"));