将字符串转换为javascript中的数组

时间:2013-07-04 05:51:49

标签: javascript jquery

var timeString=$('.csstdhighlight').closest('tr').find('td:first-child').text();

//getting timestrinfg like this
timeString="07:15 PM07:30 PM07:45 PM08:00 PM08:15 PM08:30 PM08:45 PM";

我必须将字符串转换为数组 因此我可以从array arra[0]获得开始时间结束时间将获得开始时间,array[array.length-1]将获得结束时间

2 个答案:

答案 0 :(得分:4)

正则表达式可以完成这项工作;只是开始和停止时间:

var re = /^(\d{2}:\d{2} [AP]M).*(\d{2}:\d{2} [AP]M)$/,
match = timeString.match(re);

console.log(match[1]); // "07:15 PM"
console.log(match[2]); // "08:45 PM"

或者,匹配所有时间模式:

var re = /\d{2}:\d{2} [AP]M/g;
console.log(timeString.match(re));
// ["07:15 PM", "07:30 PM", "07:45 PM", "08:00 PM", "08:15 PM", "08:30 PM", "08:45 PM"]

<强>更新

看看每次正则表达式的长度是否恒定,你只需要第一个和最后一个,你甚至可以这样做:

timeString.substr(0, 8); // "07:15 PM"
timeString.substr(-8);   // "08:45 PM"

答案 1 :(得分:0)

使用split()方法。

var n = timeString.split(" ");
start = n[0];
end = n[n.length - 1];