var string = abc123;
string.split(*POSITION=3)???
有没有办法将此字符串拆分为[abc,123]
的字符串数组?
split
方法是否正确使用?
答案 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
类似的功能