如何在不删除定界符的情况下拆分字符串?假设我有一个字符串: var string = "abcdeabcde";当我这样做时 var newstring = string.split("d"),我得到的是这样的:["abc","eabc","e"]但我想得到这个:["abc","d","eabc","d","e"]当我尝试执行“ split2”功能时,我都陷入了splice()和索引以及“ this” vs“ that”和... aargh的纠结之中。救命!:D
3 回答

MMTTMM
TA贡献1869条经验 获得超4个赞
我喜欢Kai的回答,但还不完整。而是使用:
"abcdeabcde".split(/(?=d)/g) //-> ["abc", "deabc", "de"]
这在正则表达式中使用了Lookahead零长度断言,这使得匹配项不属于捕获组。无需其他技巧或解决方法。

肥皂起泡泡
TA贡献1829条经验 获得超6个赞
split-split用于创建不用于搜索的单独行。
[^ d]-查找一组不包含“ d”的子字符串
var str = "abcdeabcde";
str.match(/[^d]+|d/g) // ["abc", "d", "eabc", "d", "e"]
or
str.match(/[^d]+/g) // ["abc", "eabc", "e"]
or
str.match(/[^d]*/g) // ["abc", "", "eabc", "", "e", ""]
如果您不希望“ javascript”出现问题,请阅读“ RegExp对象”。
添加回答
举报
0/150
提交
取消