首页 > 解决方案 > node.js String.split() 如果在引号之间,则忽略分隔符

问题描述

所以我想用 node.js 创建一个不和谐的 bot 命令,其中给出了一些参数。主要思想是使用这样的命令

/item create name:"Test Item" price:0 stock:infinite

现在我需要拆分字符串,这样每个值都可以附加。这很容易

price:0

stock:infinite

但是分割的时候

name:"Test Item"

它会分成

name:"Test

Item"

我可以以某种方式忽略两个引号之间的空格分隔符,以便

name"Test Item"

会保持不变。否则,哪种方法可以有效地将引号内的变量粘在一起?

标签: node.jsstringsplitdiscord.js

解决方案


您可以使用正则表达式来做到这一点,它看起来像这样

const str = '/item create name:"Test Item" price:0 stock:infinite';
const rgx = /\w+:(\".+\"|\w+)/g;
const matches = str.match(rgx);

console.log(matches);


推荐阅读