2

.replace()javascript関数を使用して、文字列のピリオドをアンダースコアに置き換えようとしています。たとえば、文字列が だった場合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

あなたが持っているものは動作します。

ただし、これを 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 に答える