Javascript 在分隔符的每一秒出现时使用str.split() 我有一系列变化的字符串,我需要在代码“>\n\/CODE”的第二次出现时变成数组,为了简单起见,请考虑下一个例子: const str = 'banana\napple\nmango\n3.5' //I have tried and failed with: const arr = str.split(/(^\n)+\n(^\n)+/) // Result should be: // const arr = ['banana\napple', 'mango\n3.5']

Javascript 在分隔符的每一秒出现时使用str.split() 我有一系列变化的字符串,我需要在代码“>\n\/CODE”的第二次出现时变成数组,为了简单起见,请考虑下一个例子: const str = 'banana\napple\nmango\n3.5' //I have tried and failed with: const arr = str.split(/(^\n)+\n(^\n)+/) // Result should be: // const arr = ['banana\napple', 'mango\n3.5'],javascript,regex,Javascript,Regex,我必须在这里使用循环还是什么?您可以使用match而不是split,方法是使用一些非中断字符、中断字符和其他非中断字符 const 字符串='banana\napple\nmango\n3.5', 结果=string.match(/[^\n]+\n[^\n]+/g); 控制台日志(结果)该死,这是一个丑陋的方法: 设t1=performance.now(); const result='banana\napple\nmango\n3.5' .split(“\n”) .map((str,i,

我必须在这里使用循环还是什么?

您可以使用
match
而不是
split
,方法是使用一些非中断字符、中断字符和其他非中断字符

const
字符串='banana\napple\nmango\n3.5',
结果=string.match(/[^\n]+\n[^\n]+/g);

控制台日志(结果)该死,这是一个丑陋的方法:


设t1=performance.now();
const result='banana\napple\nmango\n3.5'
.split(“\n”)
.map((str,i,arr)=>(i%2)==0?str+'\n'+arr[i+1]:空)
.filter((str)=>str!==null);
设t2=performance.now();

console.log(结果,t2-t1+μs')这是否回答了您的问题?