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