格式是: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.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
把
(
替换成,
,把(
替换成空字符串,然后用,
分隔,看这样行么: