【发布时间】:2020-09-13 18:12:44
【问题描述】:
我正在使用 Node.js 和 Discord.js 制作 Discord Bot,并且我正在尝试实现某种时间阅读器,当用户以这种格式发送内容 1h30m 时,我想操作一些计时器.我想将收到的字符串拆分为1h 和30m 以使用str.endsWith('') 操作它们。
let str = '1h30m';
if (!(/[^dhms0-9]/ig).test(str)) {
console.log('RegExp Success.');
duration = str.split(/[0-9]/);
console.log(duration);
}
我做了一个条件,只有当它只有数字或字母“d”、“h”、“m”和“s”中的任何一个时才为真。它检测得很好,但是当我按数字拆分时,我得到以下数组:
[ '', 'h', '', 'm' ]
而我想要得到的是
['1h', '30m']
【问题讨论】:
-
你能给我们一些规则吗,比如
20h这样的2位数字,或者更多的3位?有没有可能像0h30min一样?是否有可能拥有1min或者我们是否需要像01min这样的零? -
@VLAZ 具有教育意义,但实际上并不是 Wassim 遇到的问题
标签: javascript node.js string split discord.js