0

我想将此字符串拆分为一个数组

"Test One@,@10000@,@Test Two@,@10001"

只留下话,剩下的就可以走了。所以我最终会得到

[ "Test One", "Test Two" ]

正则表达式正在逃避我。有什么帮助吗?

4

4 回答 4

6

如果这就是你所做的一切,我会使用 split 代替:

>>> "Test One@,@10000@,@Test Two@,@10001".split('@,@');
["Test One", "10000", "Test Two", "10001"]
于 2012-05-08T12:58:11.447 回答
3
var string = "Test One@,@10000@,@Test Two@,@10001";

var array = string.match(/([a-z\s]+)/ig); // ["Test One", "Test Two"]
于 2012-05-08T13:00:19.233 回答
1

string.split(..)方法呢?

var split_array = "Test One@,@10000@,@Test Two@,@10001".split("@.@");
于 2012-05-08T12:58:24.817 回答
1

你不需要正则表达式。您可以使用标准字符串函数。基于Leonard Challis的回答(返回所有元素,而不仅仅是单词),您可以执行以下操作:

var myStrings = "Test One@,@10000@,@Test Two@,@10001".split('@,@');
var splitList = [];

var i = myStrings.length;
while(i--) {
    if(IsNaN(myStrings[i])) splitList.push(myStrings[i]);
}

splitList现在将只包含单词,这正是您所要求的。它的内容如下所示:

["Test One", "Test Two"]

这是你要求的。

于 2012-05-08T13:01:30.880 回答