JS string.split()而不删除定界符

如何在不删除定界符的情况下拆分字符串?


假设我有一个字符串: var string = "abcdeabcde";


当我这样做时 var newstring = string.split("d"),我得到的是这样的:


["abc","eabc","e"]


但我想得到这个:


["abc","d","eabc","d","e"]


当我尝试执行“ split2”功能时,我都陷入了splice()和索引以及“ this” vs“ that”和... aargh的纠结之中。救命!:D


万千封印
浏览 604回答 3
3回答

MMTTMM

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

肥皂起泡泡

split-split用于创建不用于搜索的单独行。[^ d]-查找一组不包含“ d”的子字符串var str = "abcdeabcde";str.match(/[^d]+|d/g)         // ["abc", "d", "eabc", "d", "e"]orstr.match(/[^d]+/g)           // ["abc", "eabc", "e"]orstr.match(/[^d]*/g)           // ["abc", "", "eabc", "", "e", ""]如果您不希望“ javascript”出现问题,请阅读“ RegExp对象”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript