Javascript 将字符串拆分为2个元素

Javascript 将字符串拆分为2个元素,javascript,jquery,Javascript,Jquery,如果字符串的第一部分与“开始”匹配,我尝试将字符串拆分为两部分 我有 var str = 'beginThetest'; 我想得到一个数组,比如['begin','Thetest'] 我尝试过使用substring和split,但在我的情况下似乎不起作用 有没有办法做到这一点?非常感谢 可能有点脏,但它可以工作: var str = 'beginThetest'; var splitter = 'begin'; var array = str.split(splitter); array[0]

如果字符串的第一部分与“开始”匹配,我尝试将字符串拆分为两部分

我有

var str = 'beginThetest';
我想得到一个数组,比如['begin','Thetest']

我尝试过使用substring和split,但在我的情况下似乎不起作用


有没有办法做到这一点?非常感谢

可能有点脏,但它可以工作:

var str = 'beginThetest';
var splitter = 'begin';
var array = str.split(splitter);
array[0] = splitter;

console.warn(array);

尝试使用slice并检查“开始”:

var str = 'beginThetest',
    arr = [],
    breakChar = 5;

if(str.slice(0,breakChar) == 'begin'){

    arr.push( str.slice(0,breakChar) );

    arr.push( str.slice(breakChar) );

}
您可以使用函数完成此操作,该函数使用分隔符/标记将字符串拆分为数组:

var token = 'begin';
var str = 'beginThetest';
var parts = str.split(token);

alert(parts[0]);   //'Thetest'
如果您不完全理解String.split:

parts数组仅包含一个元素parts[0],因为在字符串中唯一出现的标记“begin”之前没有字符

一个较长的例子应该说明这一点:

var token = 'begin';
var str = 'THIS_TESTbeginTHAT_TESTbeginLAST_TEST';
var parts = str.split(token);

alert(parts[0]);   //'THIS_TEST'
alert(parts[1]);   //'THAT_TEST'
alert(parts[2]);   //'LAST_TEST'
但是如果“开始”总是你的标志,那有什么意义呢?您不需要拆分,只需执行以下操作:

var str = 'beginThetest';
var token = 'begin';
var index = token.length;

var the_rest = str.substr(index);
alert(the_rest);    //'Thetest'

当然,如果您愿意,可以将其放入数组。

将字符串拆分为两部分的规则是什么?我们需要更多信息。你想谈什么?第一个大写字符?对不起,开头是关键字。每次以“begin”开头的字符串都会被分成两个元素,begin总是第一个元素。那么为什么不呢:array=['begin',str.substr5]?如果您已经知道数组第一个元素的值,并且希望在这个数组中只得到两个项,那么在这里获取数组又有什么意义呢???仅仅一个var newstr=str.replace'begin',还不够吗?
var str = 'beginThetest';
var token = 'begin';
var index = token.length;

var the_rest = str.substr(index);
alert(the_rest);    //'Thetest'