我想使用.split()
这个特定的字符串从字符串中提取日期和用户名:
var str ='<a href="/user/xxspmxx/profile">XxSPMxX</a> on 08/30/2012';
我想要XxSPMxX
一个变量和另一个变量08/30/2012
。
我想使用.split()
这个特定的字符串从字符串中提取日期和用户名:
var str ='<a href="/user/xxspmxx/profile">XxSPMxX</a> on 08/30/2012';
我想要XxSPMxX
一个变量和另一个变量08/30/2012
。
仅使用split
:
var x = str.split('</a> on ');
var name = x[0].split('>')[1];
var date = x[1];
演示:http: //jsfiddle.net/Guffa/YUaAT/
我认为这不是split
这项工作的正确工具。试试这个正则表达式:
var str ='<a href="/user/xxspmxx/profile">XxSPMxX</a> on 08/30/2012',
name = str.match(/[^><]+(?=<)/)[0],
date = str.match(/\d{2}\/\d{2}\/\d{4}/)[0];
这是小提琴:http: //jsfiddle.net/5ve7Y/
另一种方法是使用正则表达式进行匹配,构建一个小数组来获取锚的部分,然后使用子字符串来获取日期。
var str = '<a href="/user/xxspmxx/profile">XxSPMxX</a> on 08/30/2012';
var matches = [];
str.replace(/[^<]*(<a href="([^"]+)">([^<]+)<\/a>)/g, function () {
matches.push(Array.prototype.slice.call(arguments, 1, 4))
});
var anchorText = matches[0][2];
var theDate = str.substring(str.length - 10, str.length);
console.log(anchorText, theDate);
这里的工作示例:http: //jsfiddle.net/dkA6D/