将字符串拆分为不同的变量问题

时间:2019-03-13 11:07:35

标签: javascript

我正在尝试分割字符串的第二部分和第三部分。

以下是字符串内容:

var message = 'save ['content1', 'content2'] filename';

要对此进行区分,我正在使用:

const myarr = message.split(" ")[1];

const filename = message.split(" ")[2];

对于myarr,我只得到['content

对于文件名,我得到的是整个数组。

我在这里做错了什么?

3 个答案:

答案 0 :(得分:2)

使用正则表达式/(\[(.*?)\])/g

https://regex101.com/r/i2Rhni/2/

已更新

对于文件名,请使用split而不是match。并使用trim()删除不需要的空白空间

var message = "save ['content1', 'content2'] filename";
str =message.split(/(\[(.*?)\])/g).map(a=> a.trim());
console.log(str[1])

//parse string to array using eval
console.log(eval(str[1]))
console.log(str.pop())

答案 1 :(得分:1)

只需删除元素之间的数组内的空间

var message = 'save ["content1","content2"] filename';

const myarr = message.split(" ")[1];

const filename = message.split(" ")[2];
console.log(myarr)
console.log(filename)

答案 2 :(得分:1)

使用此正则表达式将字符串分为两部分:

var message = "save ['content1', 'content2'] filename";
var matches = message.match(/(\[[^\[\]]+?\])\s*(.+)$/);
const myarr = matches[1];
const filename = matches[2];