javascript - 分割字符串并保留分割器

标签 javascript node.js string split discord.js

我正在使用 Node.js 和 Discord.js 制作一个 Discord 机器人,并且我正在尝试实现某种时间读取器,当用户发送这种格式的内容 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']

最佳答案

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

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

关于javascript - 分割字符串并保留分割器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62030658/

相关文章:

javascript - Mongoose 从集合中获取所有键值并将其放入数组中

c# - 为 Node.js 应用程序创建 COM API 或类似的 API

python - 如何修复 "TypeError: unsupported operand type(s) for +: ' NoneType' 和 'str'“?

java - Java 中 = 后跟任何字符串,后跟 & 的正则表达式

algorithm - Firefox 的 'awesome' 栏如何匹配字符串?

javascript - Vue.js ForEach 迭代语法问题

javascript - 从 DIV 元素内的数据更新 amChart 图表上的数据

javascript - Nodejs 项目无法在 heroku 中启动

php - 网页-用户自定义样式

JavaScript 链接 promise : Calling next promise before previous has finished