使用JavaScript拆分字符串

时间:2011-12-07 17:28:23

标签: javascript arrays string split trim

以下代码对我有用,但似乎很啰嗦。我可以缩短吗?

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

由于

2 个答案:

答案 0 :(得分:1)

您想要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);

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

http://jsfiddle.net/jvs3s/

运行它