我正在使用 Node.js 和 Discord.js 制作一个 Discord 机器人,并且我正在尝试实现某种时间读取器,当用户发送这种格式的内容 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);
关于javascript - 分割字符串并保留分割器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62030658/