以下代码对我有用,但似乎很啰嗦。我可以缩短吗?
var str = "some title of an event here, weekday 17:00 – 18:00 o’clock, with name of a person";
var date = str.split(', ');
var time = date[1].split(' ');
var timeItems = time[1].split('–');
var startTime = timeItems[0].trim();
var endtime = timeItems[1].trim();
alert("event lasts from "startTime + " to " + endtime);
由于
答案 0 :(得分:1)
您想要startTime
和endTime
吗?如果是这样,您可以在冒号字符上执行split()
:
times = str.split(':');
startTime = times[0].slice(-2) + ':' + times[1].slice(0,2);
endTime = times[1].slice(-2) + ':' + times[2].slice(0,2);
alert("event lasts from " + startTime + " to " + endTime);
答案 1 :(得分:1)
虽然正则表达式通常过度,但它们会帮助您寻求更短的代码:
var str = "some title of an event here, weekday 17:00 – 18:00 o’clock, with name of a person";
var times = str.match(/\d\d?:\d\d/g);
alert("event lasts from " + times[0] + " to " + times[1]);
运行它