编程语言
首页 > 编程语言> > javascript – 如何轻松拆分此字符串

javascript – 如何轻松拆分此字符串

作者:互联网

我有以下字符串:

"<--something--><++something++><**something**>"

字符串可以有任意数量的“某事”,甚至只有一次.

我需要像这样分开它:

["<--something-->", "<++something++>", ...]

但我不知道怎么做得最好.

我会做类似string.split(“><”)的事情但是我会:

["<--something--", "++something++", ...]

使用string.split(/(><)/)我会得到:

["<--something--", "><", "++something++", "><", ...]

我可以想到一些不太理想的解决方案,但我想要非常优雅的解决方案.

解决方法:

var s = '<--something--><++something++><**something**>',
    p = s.match(/(<[^>]+>)/g);
console.log(p); // ["<--something-->", "<++something++>", "<**something**>"]

这只是假设每个“令牌”永远不会有一个>内.因此,它将失败,具体如下:

<--some>thing--><++something++><**something**>
       ^ problematic

我想强调的是,如果你使用它来解析HTML,那就停在那里.如果您希望从HTML中获取特定元素,则正则表达式不是正确的解决方案.相反,将内容放在隐藏的< div>中(或其他东西)并使用本机DOM访问器.

标签:string-split,javascript,string
来源: https://codeday.me/bug/20190725/1534341.html