2

我正在尝试使用 javascript.replace()函数将字符串中的句点替换为下划线。例如,如果字符串是Project.Build,我希望它变成Project_Build。不幸的是,该方法目前没有这样做。期间继续保持期间。

这行代码正在删除字符串中的所有空白。它也用下划线替换所有空格。这部分目前正在工作。

var rowID = $.trim(new String(status.teamCityProject).toLowerCase().replace(/ /g, "_").replace(/\./g, '_')) + status.id;

$("tr#" + rowID + " td.status").html(status.status).css({ 'color': statusColor, 'font-weight': 'bolder' })
4

3 回答 3

4

您应该将修改后的字符串分配或更新给 var 并使用它。.replace不会更新原始文本。(也删除了新字符串)

var rowID = $.trim(status.teamCityProject.toLowerCase().replace(/ /g, "_").replace(/\./g, '_')) + status.id;

$("tr#" + rowID + " td.status").html(status.status).css({ 'color': statusColor, 'font-weight': 'bolder' })

演示

于 2012-05-24T20:00:13.950 回答
1

你有什么作品

但是,您可以将其压缩为一个replace()并避免String使用以下内容。另请注意,您的原始帖子缺少).trim()

$.trim((status.teamCityProject).toLowerCase().replace(/[ .]/g, "_") + status.id);

看到它在行动

于 2012-05-24T19:51:12.837 回答
1

JavaScript 字符串是不可变的。 .replace()返回一个你必须处理的新字符串。

var newStatus = $.trim(status.teamCityProject
    .toLowerCase()
    .replace(/ /g, "_")
    .replace(/\./g, '_')) + status.id;
// do something with newStatus
于 2012-05-24T19:55:53.700 回答