拆分javascript字符串以获得所需的值

时间:2012-09-04 20:47:21

标签: javascript string split

我想在此特定字符串中使用.split()从字符串中提取日期和用户名:

var str ='<a href="/user/xxspmxx/profile">XxSPMxX</a> on 08/30/2012';

我想在一个变量中XxSPMxX,在另一个变量中想08/30/2012

3 个答案:

答案 0 :(得分:3)

仅使用split

var x = str.split('</a> on ');

var name = x[0].split('>')[1];
var date = x[1];

演示:http://jsfiddle.net/Guffa/YUaAT/

答案 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];

这是小提琴:http://jsfiddle.net/5ve7Y/

答案 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/