分割字符串并保持分隔符完整

阿孔苏

我找不到使用分隔符字符串拆分字符串的好方法,但是将分隔符保留为结果数组的每个元素的前缀:

var s = 'blah0__blah1__blah2';

我需要得到

['blah0', '__blah1', '__blah2']

我能得到的最接近的东西是

s.split(/(__)/);

哪个返回

['blah0', '__', 'blah1', '__', 'blah2']

但这需要遍历以合并下划线。

有没有更好的办法?

编辑:

到目前为止,这是我最大的努力:

'blah__blah1__blah2'.split(/(__[^_]+)/)
// => ["blah", "__blah1", "", "__blah2", ""]

仍然,在输出中有空字符串...

泌尿科

这个怎么样:

var s = 'blah0__blah__blah'
var s_split = s.match(/(__)?(.(?!__))+./g)
console.log(s_split)

我敢肯定,这比在常规之后简单地重申和加入要花更多的钱(在时间和内存方面)split

如果您__用分隔符替换它,则在大多数情况下应该可以正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章