分割字符串并保留分割符

问题描述 投票:0回答:1

我正在使用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']
javascript node.js string split discord.js
1个回答
1
投票

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

let str = '1h30m',
    duration = str.match(/\d+[hm]/gi);
    
console.log(duration);
© www.soinside.com 2019 - 2024. All rights reserved.