如何将字符串拆分为数组并确定拆分后的WHICH字符?

时间:2012-10-23 04:24:06

标签: regex arrays actionscript-3 split

我正在尝试将字符串中的所有单词拆分为AS3中的数组。显而易见的答案当然是简单地做到这一点:

str.split(/\s/);

这里的问题是我需要能够判断拆分是出现在换行还是空格上。我正试图将一个字符串的单词放入可拖动的框中,我希望换行后的那些单词能够在新的行上运行。

知道最好的方法吗?显然,上面的拆分方法将摆脱关键的换行符,它将告诉我我需要知道什么。我应该使用带有while循环的regex.exec,还是有办法使用split来保留我需要的字符?

2 个答案:

答案 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");
}