首页 > 解决方案 > 如何在除括号中的字符之外的每个字符上拆分字符串?(JavaScript)

问题描述

我想按每个字符分割一个字符串,包括空格,除了带括号的字符(打开和关闭)。一个例子:

var x = "dmk  (Xme) ww* 0 (u9*)";
var arr = [];
//code to split variable x
console.log(arr); /* returns ["d", "m", "k", "", "", "(Xme)", "", "w", "w", "*", "", "0", "", "(u9*)"]

我假设您将不得不使用正则表达式和 split 函数,但无论我尝试多少,我对正则表达式都很糟糕。

标签: javascriptarraysregex

解决方案


我们可以尝试拆分以下负前瞻:

(?![^(]*\))

这只会拆分不在括号内的内容。

var x = "dmk  (Xme) ww* 0 (u9*)";
var parts = x.split(/(?![^(]*\))/);
console.log(parts);


推荐阅读