Javascript Split方法

时间:2011-11-28 19:10:33

标签: javascript

var string = abc123;
string.split(*POSITION=3)???

有没有办法将此字符串拆分为[abc,123]的字符串数组? split方法是否正确使用?

4 个答案:

答案 0 :(得分:2)

我想说split方法在这里使用是正确的,因为它的目的是根据某个字符来分割字符串。

你当然可以编写自己的函数:

function partition(str, index) {
  return [str.substring(0, index), str.substring(index)];
}

// results in ["123", "abc"]
var parts = partition("123abc", 3);

如果您想改为编写"123abc".partition(3),可以通过扩展String.prototype来实现这一目标:

String.prototype.partition = function(index) {
  return [this.substring(0, index), this.substring(index)];
};

但就个人而言,我建议避免那种愚蠢行为(如果你想阅读别人对这个主题的看法,可以在网上搜索“用JavaScript扩展内置对象”。)

答案 1 :(得分:1)

也许使用简单的RegExp匹配?

var arr = "abc123".match(/^([a-z]+)(\d+)$/i);
arr.shift();

console.log(arr);

答案 2 :(得分:1)

var arr = "this is a test".match(/.{1,3}/g);

答案 3 :(得分:0)

不,但实施它是微不足道的:

function splitn( str, n ){
var r = [], offset = 0, l = str.length;

    while( offset < l ) {
    r.push( str.substr( offset, n ) );
    offset += n;
    }
return r;
}

然后:

var string = "abc123";
console.log( splitn( string, 3 ) );
//["abc", "123"]

假设您需要与str_split

类似的功能