Javascript拆分方法

Javascript拆分方法,javascript,Javascript,有没有办法将此字符串拆分为一个字符串数组,即[abc,123]? 该方法是正确的吗?不是,但实现它很简单: var string = abc123; string.split(*POSITION=3)??? 假设您想要与类似的功能,则不需要,但实现该功能非常简单: var string = abc123; string.split(*POSITION=3)??? 假设您想要类似于的功能,可以使用简单的RegExp匹配 var string = "abc123"; console.log( s

有没有办法将此字符串拆分为一个字符串数组,即
[abc,123]

该方法是正确的吗?

不是,但实现它很简单:

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

假设您想要与

类似的功能,则不需要,但实现该功能非常简单:

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

假设您想要类似于

的功能,可以使用简单的
RegExp
匹配

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

可能使用简单的
RegExp
匹配

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

我想说,这里使用
split
方法并不合适,因为它的目的是根据某个字符分割字符串

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

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

console.log(arr);
如果您想编写
“123abc”.partition(3)
,您可以通过扩展
String.prototype

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

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

不过,就我个人而言,我建议避免这种愚蠢的行为(如果你想阅读其他人对该主题的评论,请在web上搜索“扩展JavaScript中的内置对象”)

我想说,在这里使用
split
方法并不合适,因为它的目的是根据特定字符分割字符串

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

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

console.log(arr);
如果您想编写
“123abc”.partition(3)
,您可以通过扩展
String.prototype

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

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

但就我个人而言,我建议避免这种愚蠢的行为(如果你想阅读其他人对该主题的评论,请在web上搜索“扩展JavaScript中的内置对象”)

split()需要一个分隔符才能工作。split()需要一个分隔符才能工作。我只是好奇(因为我经常看到这种情况),如果您不建议通过扩展原型来实现,为什么不按照您推荐的方式实现呢?e、 g.:函数partionString(str,index){…我非常怀疑OP想要的是什么…
“hello friend”。分区(3)[“hel”,“lo friend”]
对我来说根本没有拆分
*POSITION=3
。再说一遍,
*POSITION=3
是非常开放的解释:D只是把它放在那里。@rob:完全正确;我已经相应地更新了我的答案。@Esailija:当然可以解释……我明白了,你的解释是他想把字符串拆分成一个字符串任意长度相等的段数?我的回答反映了我认为他想要的:在指定位置将一个字符串分成两部分。但你是对的;很可能我误解了OP的意图。@DanTao,我的意思是,如果你有一个字符串
“ffffffff”
然后执行
*POSITION=2
拆分,您将得到
[“FF”,“FF”,“FF”]
(每2个字符拆分一次),这是php所做的功能。但看起来他根本就没在寻找它:只是好奇(因为我经常看到这个),如果你不建议通过扩展原型来实现它,为什么不按照你推荐的方式来实现呢?例如:function partionString(str,index){…我非常怀疑这是OP想要的…
“hello friend”。partition(3)[“hel”,“lo friend”]
对我来说根本没有拆分
*POSITION=3
。再说一遍,
*POSITION=3
是非常开放的解释:D只是把它放在那里。@rob:完全正确;我已经相应地更新了我的答案。@Esailija:当然可以解释……我明白了,你的解释是他想把字符串拆分成一个字符串任意长度相等的段数?我的回答反映了我认为他想要的:在指定位置将一个字符串分成两部分。但你是对的;很可能我误解了OP的意图。@DanTao,我的意思是,如果你有一个字符串
“ffffffff”
然后执行
*POSITION=2
拆分,您将得到
[“FF”,“FF”,“FF”]
(每2个字符拆分一次),这是php所做的功能。但看起来他根本就没有在寻找它:P