我有以下字符串为例
hello {{salutation}} {{ name }} we are glad to tell you {{ message }}
我想有一个像这样的数组:
["hello", "{{salutation}}", "{{ name }}", "we are glad to tell you", "{{ message }}"]
这是否可以使用本机功能?或者我必须做一个解决方法吗?
答案 0 :(得分:2)
您可以调整answer的Split around curly braces以搜索更大的大括号,并在内部添加任何字符,但大括号
除外
var string = 'hello {{salutation}} {{ name }} we are glad to tell you {{ message }}',
array = string.split(/\s*(\{\{[^}]+}})\s*/).filter(Boolean);
console.log(array);
答案 1 :(得分:0)
您可以将.match()
与RegExp
/[{]+[^}]+[}]+|[\w\s]+/g
var str = "hello {{salutation}} {{ name }} we are glad to tell you {{ message }}";
var res = str.match(/[{]+[^}]+[}]+|[\w\s]+/g);
console.log(res);