拆分字符串并保留拆分器

我正在用Node.js和Discord制作一个Discord Bot.js,我试图实现某种时间阅读器,当用户以这种格式发送某些东西时,我想操纵一些计时器。我想将接收到的字符串拆分为并使用.1h30m1h30mstr.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']


有只小跳蛙
浏览 85回答 1
1回答

MMTTMM

您可以通过查找后跟 或 的数字来匹配这些部分。hmlet str = '1h30m',    duration = str.match(/\d+[hm]/gi);    console.log(duration);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript