我有以下字符串:
"4/7/12"
我想用这个公式替换每个数字: (25 - x)其中'x'是字符串中的数字。
例如: “4/7/12”将被翻译成:“21/18/13”
如何使用'replace()'和Regex ??
来完成此操作var player_move = "5/7/9";
var translated_pm = player_move.replace(/\/\*?/, 25 - /$1/);
谢谢!
答案 0 :(得分:2)
尝试这一切,一行:
var player_move = "5/7/9";
var new_move = player_move.split('/').map(function(number) { return 25 - Number(number); }).join('/');
alert(new_move);

答案 1 :(得分:2)
你必须使用正则表达式吗?
没有正则表达式
这可能是更好的方法:
var n = "4/7/12".split('/').map(function(el) {
return 25 - Number(el); // Number not needed here bc of coercion but I like it here
}).join('/');
<强>的regexp 强>
使用.replace
,您可以传递如下函数:
var re = "4/7/12".replace(/\d+/g, function(match) {
return 25 - match;
})
答案 2 :(得分:1)
试试这个
var translated_pm = player_move.replace(/\d+/g, function (x){return 25 - parseInt(x)});