Разделить строку с помощью JavaScript - PullRequest
0 голосов
/ 07 декабря 2011

следующий код работает для меня, но кажется довольно скучным. Могу ли я сократить его?

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 ]

1 голос
/ 07 декабря 2011

Хотя регулярные выражения часто излишни, они помогут вам в этом поиске более короткого кода:

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/

1 голос
/ 07 декабря 2011

Это все, что вы хотите 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);
...