用JavaScript拆分字符串

Split a string with JavaScript

本文关键字:字符串 拆分 JavaScript      更新时间:2023-09-26

下面的代码对我来说是有效的,但是似乎相当冗长。我可以缩短它吗?

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);

谢谢

您想要的是startTimeendTime吗?如果是这样,您可以在冒号字符上执行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);

虽然正则表达式通常是多余的,但它们将在这里帮助您寻求更短的代码:

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]);

在http://jsfiddle.net/jvs3s/上运行