所以我想用node.js创建一个discord bot命令,其中给出了一些参数。主要思想是使用这样的命令
/item create name:"Test Item" price:0 stock:infinite
现在我需要分割字符串,以便每个值都可以附加。
很容易price:0
和
stock:infinite
但是分裂时
name:"Test Item"
它将分为
name:"Test
和
Item"
我能以某种方式忽略两个引号之间的空格分隔符吗?
name"Test Item"
将保持不变。否则,哪种方法可以有效地将引号内的变量粘贴在一起?
答案 0 :(得分:0)
您可以使用Regular Expressions来执行此操作,看起来像这样
const str = '/item create name:"Test Item" price:0 stock:infinite';
const rgx = /\w+:(\".+\"|\w+)/g;
const matches = str.match(rgx);
console.log(matches);
答案 1 :(得分:0)
这是您的代码段,但是已编辑,因此最后一个参数是desc:“这是一个测试”。因此,'price:0 stock:infinite'被添加到第一个参数中,我想避免
const str = '/item create name:"Test Item" price:0 stock:infinite desc:"This is a test"';
const rgx = /\w+:(\".+\"|\w+)/g;
const matches = str.match(rgx);
console.log(matches);