有一个 JavaScript 的需求
给一个 字符串,按照规定切割为 数组。
比如:
var test = "你啊后啊撒发我发<blod>你好啊啊啊啊</blod>"
想要得到的结果为:
["你", "啊", "后", "啊", "撒", "发", "我", "发", "<blod>", "你", "好", "啊", "啊", "啊", "啊", "</blod>"]
自己太菜,没想到好的解决方法,各位 v 站大佬,能否指导指导
|  |      1waiaan      2019-10-14 11:08:34 +08:00  1 正则? | 
|  |      2shintendo      2019-10-14 11:10:28 +08:00  2 最好准确描述一下你所说的“规则”,从你的例子里看不出来 | 
|  |      3Vegetable      2019-10-14 11:11:01 +08:00  1 你要先描述一下,你的规则是什么,不要用例子来表达。 这样可能会让你自己得到答案,也让想帮忙的人搞清楚点状况 | 
|  |      4None123      2019-10-14 11:11:22 +08:00  1 正则 | 
|  |      5mufeng      2019-10-14 11:11:49 +08:00  1 '你啊后啊撒发我发<blod>你好啊啊啊啊</blod>'.split(/(<[^>]+>|'')/) => ["你啊后啊撒发我发", "<blod>", "你好啊啊啊啊", "</blod>", ""] | 
|  |      7ipwx      2019-10-14 11:19:59 +08:00 via Android  1 那 <abc<def>ghi> 怎么算? 一整个? | 
|  |      9lijsh      2019-10-14 11:22:55 +08:00  1 先写个 parser | 
|  |      10seki      2019-10-14 11:22:57 +08:00  1 用 5 楼的方法,先把 <> 给分出来,再跑一遍把剩下的分开 | 
|  |      11feiniu OP 谢谢大家🙏,我先用 5 楼的方法试试 | 
|  |      12ipwx      2019-10-14 11:31:57 +08:00  1 | 
|  |      13jackchao7432      2019-10-14 11:39:27 +08:00 在飞牛? | 
|  |      14gbin      2019-10-14 11:48:47 +08:00  2 不会正则也没事,遍历一次,遇到 `<` 存起来,知道遇到 `>` 视为一个 token 就好。 https://ideone.com/Oc2N57 | 
|  |      16rabbbit      2019-10-14 12:32:00 +08:00 | 
|  |      17feiniu OP 谢谢各位大佬  🙏🙏 | 
|  |      18Zoro76      2019-10-16 16:27:14 +08:00 如果只是你这种结构的字符串的话,可以试试这个 test.split(/(?=[\u4e00-\u9fa5<])/) | 
|  |      19meepo3927      2019-10-17 09:37:04 +08:00 #14 楼的方法可以, 简单有效 |