-1

どうすれば交換できますか:

var url = "http://localhost:2879/ServiceDonneesArchive.svc/Installations(1002)?$expand=Stations";

に:

var nameInstallation = 1002;
    var url = "http://localhost:2879/ServiceDonneesArchive.svc/Installations(nameInstallation)?$expand=Stations";
4

3 に答える 3

1

なぜこれは難しい方法ですか?このユースケースでは、単純な連結は非常に読みやすくなります。

var nameInstallation = 1002;
var url = 'http://localhost:2879/ServiceDonneesArchive.svc/Installations(' + nameInstallation + ')?$expand=Stations';
于 2012-04-24T21:17:03.347 に答える
1

.replace()メソッドを使用します。変数"nameInstallation"内のインスタンスを に置き換えるには:url"1002"

url = url.replace(/nameInstallation/g, "1002");

または、変数に置換値がある場合nameInstallation = 1002:

url = url.replace(/nameInstallation/g, nameInstallation);

編集: David Thomas が指摘したようgに、正規表現の最初のパラメーターであるフラグはおそらく必要ありません.replace()。この「グローバル」フラグを使用すると、テキスト「nameInstallation」のすべてのインスタンスが置き換えられます。フラグがないと、最初のインスタンスのみが置き換えられます。したがって、必要に応じて、それを含めるか、そのままにしておきます。(最初に出現したものだけを置き換える必要がある場合は、正規表現ではなく最初のパラメーターとして文字列を渡すオプションもあります。)

于 2012-04-24T21:34:51.843 に答える
0

このjavascript関数を試してみてください

// from http://www.codeproject.com/Tips/201899/String-Format-in-JavaScript
        String.prototype.format = function (args) {
            var str = this;
            return str.replace(String.prototype.format.regex, function(item) {
                var intVal = parseInt(item.substring(1, item.length - 1));
                var replace;
                if (intVal >= 0) {
                    replace = args[intVal];
                } else if (intVal === -1) {
                    replace = "{";
                } else if (intVal === -2) {
                    replace = "}";
                } else {
                    replace = "";
                }
                return replace;
            });
        };
        String.prototype.format.regex = new RegExp("{-?[0-9]+}", "g");

と使用:

var url = "http://localhost:2879/ServiceDonneesArchive.svc/Installations{0}?$expand=Stations";
var nameInstallation = 1002;
var result = url.format(nameInstallation );
于 2012-04-24T15:11:05.780 に答える