我想在此特定字符串中使用.split()
从字符串中提取日期和用户名:
var str ='<a href="/user/xxspmxx/profile">XxSPMxX</a> on 08/30/2012';
我想在一个变量中XxSPMxX
,在另一个变量中想08/30/2012
。
答案 0 :(得分:3)
仅使用split
:
var x = str.split('</a> on ');
var name = x[0].split('>')[1];
var date = x[1];
答案 1 :(得分:2)
我认为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];
答案 2 :(得分:0)
另一种方法是使用正则表达式进行匹配,构建一个小数组以获取锚点的部分,然后使用子字符串来获取日期。
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/