格式是:xxxx(yyy)(zzzzz)
可能有多个括号
转换为['xxxx',yyy,zzzzz]
有什么优雅的方法吗?
text = "xxxx(yyy)(zzzzz)";
Array.prototype.addItem = function(item){this.push(item);return this}
var arr = text.match(/\((.+?)\)/g).map(function(v){return v.slice(1,-1)}).reverse().addItem(text.match(/.+?\(/)[0].slice(0,-1)).reverse();
console.log(arr);
从你的结果来看,yyy
zzz
应该是Number吧,只要在map
的回调函数里面做下处理就好了。
用正则,看看还有没有优雅的,正确性有待验证
var xx = "xxxx(yyy)(zzzzz)";
var arr = xx.split(/(?:\)\(|\)|\()/);
arr.pop();
console.log(arr);
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答832 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
把
(
替换成,
,把(
替换成空字符串,然后用,
分隔,看这样行么: