我有一个这样的字符串:
http://x.com/xyz/2013/01/16/zz/040800.php
我想从中得到两个字符串, 像这样:
2013-01-16 <-- string 1
04:08:00 <-- string 2
我该怎么做?
答案 0 :(得分:2)
您可以使用regularx表达式。这是一个示例解决方案:
var parts = (/.com\/[^\/]+\/(\d+)\/(\d+)\/(\d+)/g).exec('http://x.com/xyz/2013/01/16/zz/040800.php'),
result = parts[1] + '-' + parts[2] + '-' + parts[3]; //"2013-01-16"
如果您的域名为.com
并且您在日期之前只有一个额外参数,则此功能将有效。
让我向你解释一下正则表达式:
/ //starts the regular expression
.com //matches .com
\/ //matches /
[^\/]+ //matches anything except /
\/ //matches a single /
(\d+) //matches more digits (one or more)
\/ //matches /
(\d+) //matches more digits (one or more)
\/ //matches /
(\d+) //matches more digits (one or more)
/ //ends the regular expression
以下是提取整个数据的方法:
var parts = (/.com\/[^\/]+\/(\d+)\/(\d+)\/(\d+)\/[^\/]+\/(\d+)/g).exec('http://x.com/xyz/2013/01/16/zz/040800.php'),
part2 = parts[4];
parts[1] + '-' + parts[2] + '-' + parts[3]; //"2013-01-16"
part2[0] + part2[1] + ':' + part2[2] + part2[3] + ':' + part2[4] + part2[5];
答案 1 :(得分:1)
如果网址格式始终相同,请执行此操作
var string = 'http://x.com/xyz/2013/01/16/zz/040800.php';
var parts = string.split('/');
var string1 = parts[4] +'-' +parts[5] +"-" +parts[6];
var string2 = parts[8][0]+parts[8][1] +":" +parts[8][2]+parts[8][3] +":" +parts[8][4]+parts[8][5];
alert(string1);
alert(string2);