var record = "HENRY|5|58|L581"
上記を次のように変更するにはどうすればよいですか。
record now equals "HENRY|Five|58|L581"
最初の「|」のインデックスを取得する方法を知っています および 2 番目の '|' .. 数値「5」を文字列に取得する方法を知っています。
しかし、その 5 を実際に Five という単語に置き換える方法がわかりません。
|5|の部分 1 ~ 50 の任意の数値を指定できます
var record = "HENRY|5|58|L581"
上記を次のように変更するにはどうすればよいですか。
record now equals "HENRY|Five|58|L581"
最初の「|」のインデックスを取得する方法を知っています および 2 番目の '|' .. 数値「5」を文字列に取得する方法を知っています。
しかし、その 5 を実際に Five という単語に置き換える方法がわかりません。
|5|の部分 1 ~ 50 の任意の数値を指定できます
そんな感じ ?
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
});
数値を「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("|");