使用正则表达式替换除第一次出现之外的所有空白子字符串

2023-11-30

以下语句运行良好:

$wb.upLinearLoad.append('<div>' + 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(/ /," &nbsp;") + '</div>');

但是,我现在只需要动态更改最后两个变量的颜色,因此我决定将它们包含在一个带有 class='wt' 的跨度中以控制它们的颜色。这给出:

$wb.upLinearLoad.append('<div>' + sprintf("%5s%8.1f to%7.1f%8.1f<span class='wt'>%6.0f%8.0f</span>",sLinearSegName[i][j],fLinearPtBA[i][j],fLinearPtBA[i][j+1],fLen,fLinearPtPpi[i][j],fLinearSegMaxWt[i][j]).replace(/ /," &nbsp;") + '</div>');

失败是因为跨度和类之间的空格更改为&nbsp;

我的正则表达式能力仅限于示例,因此问题是如何将除第一个空格之外的所有空格更改为&nbsp;?

任何和所有的建议都是非常受欢迎的,特别是如果您发现我的整个方法很糟糕。


只是不要使用字符串来做到这一点。相反,请使用 jQuery/DOM 操作。它不容易出错并且效率更高。

$wb.upLinearLoad.append(
    $('<div>').append(
        sprintf("%5s%8.1f to%7.1f%8.1f", sLinearSegName[i][j], fLinearPtBA[i][j], fLinearPtBA[i][j+1], fLen),
        $('<span>').addClass('wt').text(sprintf("%6.0f%8.0f</span>", fLinearPtPpi[i][j], fLinearSegMaxWt[i][j]))[0]
    )
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用正则表达式替换除第一次出现之外的所有空白子字符串 的相关文章

随机推荐