首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在javascript正则表达式中的替换函数中添加值

如何在javascript正则表达式中的替换函数中添加值
EN

Stack Overflow用户
提问于 2017-07-20 15:09:11
回答 1查看 825关注 0票数 1

我有一个string="2 HOUR PARKING 7AM-6PM",我编写了以下正则表达式:

代码语言:javascript
运行
复制
var string = "2 HOUR PARKING 7AM-6PM"
var reg =new RegExp(/([0-9])AM\-([0-9])PM/ig);
string = string.replace(reg,"$1-$2")

这是2 HOUR PARKING 7-6,的结果,但是我想要一个类似2 HOUR PARKING 7-18的结果,因为下午6点意味着18:00。在替换时,我如何动态地将一个数字添加到$2中?我甚至试过这个:

代码语言:javascript
运行
复制
string = string.replace(eg,"$1-$2\+12")

但是,替换函数将其视为字符串,结果是2 HOUR PARKING 7-6\+12

如果有人能帮我那就太好了。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-20 15:43:49

您可以使用replace参数来计算时间的24小时值。

代码语言:javascript
运行
复制
function convertTime(time, ampm) {
  time = parseInt(time);

  if (ampm.toUpperCase() === "PM")
    time += 12;

  return time;
}

var str = "2 HOUR PARKING 7AM-9PM";
var reg = new RegExp(/([0-9]+)(AM|PM)-([0-9]+)(AM|PM)$/i);

str = str.replace(reg, function(match, from, fromP, to, toP) {
  return convertTime(from, fromP) + "-" + convertTime(to, toP);
});

console.log(str);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45218678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档