我正在使用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']
您可以通过查找数字后跟h
或m
来匹配零件。
let str = '1h30m',
duration = str.match(/\d+[hm]/gi);
console.log(duration);