0

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

str.split(/\s/);

这里的问题是我需要能够判断拆分是发生在换行符还是空格上。我正在尝试将字符串中的单词放入可拖动的框中,并且我希望换行符之后的单词可以放在新行中。

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

4

2 回答 2

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");
}
于 2012-10-23T12:51:40.313 回答
1

示例字符串:

     This is an example string  
     with spaces as well as newlines 
     and needs a regex

1/ 在换行符上拆分字符串,得到数组#1。

array#1 = [ "这是一个示例字符串","带有空格和换行符","需要一个正则表达式"]

2/ 对于 array#1 中的每个元素,根据您当前的正则表达式进行拆分,这将仅在空格上打破字符串,因为已经处理了换行符,这个二维数组是 array#2

   array#2  = [ 
                ["This","is","an","example","string"] ,
                ["with","spaces","as","well","as","newlines"],
                ["and","needs","a","regex"]
              ]

3/ 根据需要处理数组#2 的元素。

于 2012-10-23T05:17:19.073 回答