我正在尝试将字符串中的所有单词拆分为AS3中的数组。显而易见的答案当然是简单地做到这一点:
str.split(/\s/);
这里的问题是我需要能够判断拆分是出现在换行还是空格上。我正试图将一个字符串的单词放入可拖动的框中,我希望换行后的那些单词能够在新的行上运行。
知道最好的方法吗?显然,上面的拆分方法将摆脱关键的换行符,它将告诉我我需要知道什么。我应该使用带有while循环的regex.exec,还是有办法使用split来保留我需要的字符?
答案 0 :(得分:1)
示例字符串:
This is an example string
with spaces as well as newlines
and needs a regex
1 /在换行符上拆分字符串,得到数组#1。
array#1 = [“这是一个示例字符串”,“包含空格以及 换行符“,”并需要一个正则表达式“]
2 /对于数组#1中的每个元素,根据当前的正则表达式进行拆分,这将破坏字符串 只有空格才能换行,这个2-D数组就是数组#2
array#2 = [ ["This","is","an","example","string"] , ["with","spaces","as","well","as","newlines"], ["and","needs","a","regex"] ]
3 /根据需要处理数组#2的元素。
答案 1 :(得分:1)
首先在换行符处将字符串拆分
var lines:Array = str.split("\n");
现在你可以循环你的行并将其中的每一行分成单独的单词
for(var i:int = 0; i < lines.length; i++){
var words = str[i].split(" ");
for(var j:int = 0; j < words.length; j++){
trace("word", words[i]);
}
trace("newline");
}