比如: var str = "我是/@小王@\\和/@小李@\\的好朋友"
转成var arr = [ "我是", "/@小王@\\", "和", "/@小李@\\", "的好朋友" ]
我尝试str.split(/\/@|@\\/)
得到["我是", "小王", "和", "小李", "的好朋友"]
需要保留标签和顺序用以区分,split正则标签会被去掉很困扰。
能够做到这样就更好了var arr = [{"text": "我是"}, {"name": 小王"}, {"text": "和"}, {"name": "小李"}, {"text": "的好朋友"}]
在JavaScript中,你可以使用split()方法将字符串分割成数组。split()方法接受一个正则表达式作为参数,该正则表达式用于分割字符串。如果省略了正则表达式,split()方法将默认使用空格作为分割符。
以下是一个例子,它将一个包含HTML标签的字符串分割成数组:
javascript
var str = '<p>This is a paragraph.</p><p>This is another paragraph.</p>';
var arr = str.split('<p>');
console.log(arr); // 输出:['This', 'is', 'a', 'paragraph.', 'This', 'is', 'another', 'paragraph.']
在这个例子中,我们使用了正则表达式'
'来分割字符串。正则表达式的匹配规则是:匹配任何<p>标签。所以,split()方法将返回一个包含所有匹配项的数组。
如果你想要根据特定的标签进行分割,你可以使用正则表达式来匹配标签,并在分割字符串时选择匹配的标签。例如:
javascript
var str = '<p>This is a paragraph.</p><p>This is another paragraph.</p>';
var arr = str.split('<p[^>]*>');
console.log(arr); // 输出:['This', 'is', 'a', 'paragraph.', 'This', 'is', 'another', 'paragraph.']
在这个例子中,正则表达式'
]*>'匹配任何以
开始,但不以
结束的非HTML标签。因此,split()方法将返回一个包含所有匹配项的数组,而不仅仅是p标签。