我有一个间隔信息,例如"周六8-11,周六11-18和#34;我想检查第一个间隔(11)中的第二个小时是否等于第二个间隔(11)中的第一个小时,然后将这两个小时合并为一个"星期六8-18"。 如果有人给我一个暗示,这将是伟大的。
答案 0 :(得分:2)
您可以使用replace
使用反向引用来执行此操作:
var s = "Sat 8-11, Sat 11-18";
s = s.replace(/([a-z]+) (\d+)-(\d+), \1 \3-/i, "$1 $2-");
console.log(s);
答案 1 :(得分:0)
使用具有特定正则表达式模式的String.prototype.match()
函数的解决方案:
var s = "Sat 8-11, Sat 11-18",
r = s.match(/([A-Z][a-z]+) (\d{1,2})-(\d{1,2}), \1 (\d{1,2})-(\d{1,2})/);
// if the input string matches the pattern and the second hour
// in the first interval equals to the first hour in the second interval
if (r.length == 6 && r[3] == r[4]) {
s = r[1] +' '+ r[2] +'-'+ r[5];
}
console.log(s)