分割字符串并保留分割线

时间:2020-05-26 20:14:15

标签: javascript node.js string split discord.js

我正在使用Node.js和Discord.js制作Discord Bot,并且试图获得某种时间读取器,当用户以1h30m格式发送内容时,我想进行操作一些计时器。我想将接收到的字符串拆分为1h30m,以使用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']

1 个答案:

答案 0 :(得分:4)

您可以通过查找数字后跟hm来匹配部分。

let str = '1h30m',
    duration = str.match(/\d+[hm]/gi);
    
console.log(duration);