Javascript 如何拆分这个复杂字符串

Javascript 如何拆分这个复杂字符串,javascript,arrays,split,Javascript,Arrays,Split,我有一个变量字符串mymvariable 其中包括: 864827,,,34200,Sète ,,,445958,,,30220,AIGUES MORTES,,,169807,,,34570,PIGNAN,,,546049,,,13006,MARSEILLE,, 我想将此字符串转换为如下数组: 1 864827,,,34200,Sète ,,, 2 445958,,,30220,AIGUES MORTES,,, 3 169807,,,34570,PIGNAN,,, 4 546049,,,

我有一个变量字符串
mymvariable

其中包括:

864827,,,34200,Sète ,,,445958,,,30220,AIGUES MORTES,,,169807,,,34570,PIGNAN,,,546049,,,13006,MARSEILLE,,
我想将此字符串转换为如下数组:

1 864827,,,34200,Sète ,,, 
2 445958,,,30220,AIGUES MORTES,,, 
3 169807,,,34570,PIGNAN,,, 
4 546049,,,13006,MARSEILLE,,
我已尝试使用:

var array = myvariable.split(",");
但当我执行一个数组[0]时,它会给我这里的第一个字段:

864827

我希望在执行如下数组[0]时有第一行:

1 864827,,,34200,Sète ,,, 
2 445958,,,30220,AIGUES MORTES,,, 
3 169807,,,34570,PIGNAN,,, 
4 546049,,,13006,MARSEILLE,,
1864827,34200,塞特

可以这样格式化字符串吗


感谢您

您可以拆分阵列,减少阵列,并为每7项构建子阵列

var string='864827、'34200、Sète、'445958、'30220、AIGUES MORTES、'169807、'34570、PIGNAN、'546049、'13006、马赛、',
数组=字符串
.split(“,”)
.reduce((r,s,i)=>r.concat([i%7?r.pop().concat:[s]]),[]);
log(数组[0]);
console.log(数组)

.as控制台包装{max height:100%!important;top:0;}
使用regexp的简单解决方案:

const str=“864827、、34200、Sète、、445958、、30220、艾格·莫特斯、、169807、、34570、皮格南、、546049、、13006、马赛、”
常量数组=str.split(/(\d+,,\d+,[a-zA-Zèè]+\s*,,,,)/)。过滤器(布尔值);

console.log(数组)这里的“第一行”到底是什么?在这个无休止的字符串中,分隔一条“线”和另一条“线”的规则是什么?字符串是否遵循固定的模式?为什么要标记
columnsoriging
?很好,很短,但是…斜视…有些模糊…好的方法,还可以在结尾添加一个.map(sa=>sa.join(','))将子数组连接回逗号分隔的字符串中(这就是我认为op想要的)