Javascript 基于子字符串分隔符拆分字符串,将分隔符保留在结果中

Javascript 基于子字符串分隔符拆分字符串,将分隔符保留在结果中,javascript,Javascript,我希望能够基于子字符串分隔符拆分字符串,在分隔符子字符串的第一个字符之前开始拆分。目前: var string = "choc: 123 choc: 328 choc: 129"; string.split("choc"); 将给我[“”,“:123”,“:328”,“:129”],但我希望得到[“choc:123”,“choc:328”,“choc:129”]。你可以积极地向前看 var string=“choc:123 choc:328 choc:129”; console.log(st

我希望能够基于子字符串分隔符拆分字符串,在分隔符子字符串的第一个字符之前开始拆分。目前:

var string = "choc: 123 choc: 328 choc: 129";
string.split("choc");

将给我
[“”,“:123”,“:328”,“:129”]
,但我希望得到
[“choc:123”,“choc:328”,“choc:129”]

你可以积极地向前看

var string=“choc:123 choc:328 choc:129”;

console.log(string.split(/(?=choc)/)你可以积极地向前看

var string=“choc:123 choc:328 choc:129”;

console.log(string.split(/(?=choc)/)
你可以像@Nina Scholz所说的那样,用积极的向前看,在向前看之前添加
\s*
,以删除
choc
之前的任何前导空格:

const string='choc:123 choc:328 choc:129';
const result=string.split(/\s*(?=choc)/);

控制台日志(结果)
你可以像@Nina Scholz所说的那样,用积极的向前看,在向前看之前添加
\s*
,以删除
choc
之前的任何前导空格:

const string='choc:123 choc:328 choc:129';
const result=string.split(/\s*(?=choc)/);

控制台日志(结果)可能重复和了解Regex,这就是您需要知道的全部,在这种情况下,为什么不匹配而不是从拆分开始?(假设
choc:123
choc:328
之间存在差异,一个带有尾随斜杠,另一个没有,这只是发布过程中的疏忽,而不是实际要求。)可能重复和了解Regex,这就是您需要知道的,在这种情况下,为什么不匹配而不是拆分?(假设
choc:123
choc:328
之间存在差异,一个带尾随斜杠,另一个不带尾随斜杠,这只是过帐时的疏忽,而不是实际要求。)