1
var record = "HENRY|5|58|L581"

上記を次のように変更するにはどうすればよいですか。

record now equals "HENRY|Five|58|L581"

最初の「|」のインデックスを取得する方法を知っています および 2 番目の '|' .. 数値「5」を文字列に取得する方法を知っています。

しかし、その 5 を実際に Five という単語に置き換える方法がわかりません。

|5|の部分 1 ~ 50 の任意の数値を指定できます

4

3 に答える 3

2

そんな感じ ?

record = record.replace('|5|', '|FIVE|');

次の編集:

任意の数字を FIVE に置き換えるには、次のようにします。

record = record.replace(/\|\d+\|/, '|FIVE|');

数値に応じて何かに置き換えたい場合 (数値が 10 のときに TEN が必要な場合があります)、いくつかの作業を行う必要があります。

record = record.replace(/\|\d+\|/, function(str) {
     var number = parseInt(str,10);
     return 'FIVE'; // here build a new string and return it
});
于 2013-05-22T11:12:41.850 に答える
0

数値を「5」に置き換えたくない場合は、数値を表す実際の文字列に置き換えたいと思います。

var repl = [0, 1, ....];
var to = ["zero", "one", ...];
var recordArray = record.split("|");

for (var i = 0; i < recordArray.length; i++) {
 recordArray[i] = to[indexOf(recordArray[i], repl)];
}

finStr = recordArray.join("|");
于 2013-05-22T11:18:47.950 に答える