我是javascript的新手,我正在尝试格式化一些数据。我有以下格式的数据:
"Matt Forte : 17.8C.J. Anderson : 16.5Jamaal Charles : 16.4"
分割它的最佳方法是: string.split(),我会在括号中放什么?
Matt Forte : 17.8
C.J. Anderson : 16.5
Jamaal Charles : 16.4
到目前为止我的代码:
var playersAndPoints = $('.items').text();
var playersAndPoints = JSON.stringify(playersAndPoints);
var re = /Points\s\(PPR\)/gi;
var formattedPlayers = playersAndPoints.replace(re, " ");
for(var i = 0; i<formattedPlayers.length; i++){
if ((typeof(formattedPlayers[i]) === 'number') && (typeof(formattedPlayers[++i]) === 'letter')
{
formattedPlayers.split(formattedPlayers[i])
}
}
答案 0 :(得分:2)
我认为这可能会有点简单处理
首先,我可以看到所有玩家数据最终都有一个数字(+可选的小数点)
与此匹配的RegExp可能是
var re = /[^0-9]+[0-9]+(?:\.?[0-9]+)?/g
现在让我们使用它:
re.match("Matt Forte : 17C.J. Anderson : 16.5Jamaal Charles : 16.4");
// ["Matt Forte : 17", "C.J. Anderson : 16.5", "Jamaal Charles : 16.4"]
答案 1 :(得分:0)
这是一个完成工作的正则表达式:
var data = 'Matt Forte : 17C.J. Anderson : 16.5Jamaal Charles : 16.4'
var sorted = data.match(/(\D)+:\s(\d|\.)+/g)
console.log(sorted)
// [ 'Matt Forte : 17.8',
// 'C.J. Anderson : 16.5',
// 'Jamaal Charles : 16.4' ]