使用正则表达式替换除第一次出现的空白子串之外的所有内容
以下语句运行良好:
$wb.upLinearLoad.append('' + sprintf("%5s%8.1f to%7.1f%8.1f%6.0f%8.0f",sLinearSegName[i][j],fLinearPtBA[i][j],fLinearPtBA[i][j+1],fLen,fLinearPtPpi[i][j],fLinearSegMaxWt[i][j]).replace(/ /," ") + '');
但是,我现在需要动态地改变最后两个变量的颜色,所以我决定将它们用class =’wt’括起来控制它们的颜色。 这给出了:
$wb.upLinearLoad.append('' + sprintf("%5s%8.1f to%7.1f%8.1f%6.0f%8.0f",sLinearSegName[i][j],fLinearPtBA[i][j],fLinearPtBA[i][j+1],fLen,fLinearPtPpi[i][j],fLinearSegMaxWt[i][j]).replace(/ /," ") + '');
因为span和class之间的空间变为
我的正则表达式能力仅仅是示例,因此问题变成如何将除第一个空格之外的所有空间更改为
?
任何和所有建议都是最受欢迎的,特别是如果你看到我的整个方法都很差。
只是不要使用字符串。 相反,使用jQuery / DOM操作。 它不容易出错,效率更高。
$wb.upLinearLoad.append( $('').append( sprintf("%5s%8.1f to%7.1f%8.1f", sLinearSegName[i][j], fLinearPtBA[i][j], fLinearPtBA[i][j+1], fLen), $('').addClass('wt').text(sprintf("%6.0f%8.0f", fLinearPtPpi[i][j], fLinearSegMaxWt[i][j]))[0] ) );