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