node.js - 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"
会保持不变。否则,哪种方法可以有效地将引号内的变量粘在一起?
解决方案
您可以使用正则表达式来做到这一点,它看起来像这样
const str = '/item create name:"Test Item" price:0 stock:infinite';
const rgx = /\w+:(\".+\"|\w+)/g;
const matches = str.match(rgx);
console.log(matches);
推荐阅读
- laravel - 元表 Laravel 中的过滤查询
- javascript - 动态地将一个组件附加到另一个组件中
- dynamic - 构建动态 lambda 表达式
- sql - SQL 根据其他获取的行替换 NULL
- sql - 如何在 SQL Server 中以两种不同的方式通过短路进行排名?
- asp.net-mvc - asp.net 从服务器 mvc 下载控制器客户端
- php - AMP Instagram、Twitter 嵌入需要 PHP preg_replace
- json - 将对象转换为json时如何排除空值
- ios - 在 iphone x 模拟器上滚动而不是其他设备上的滚动视图
- java - 不显示 div 内容