Javascript正则表达式,用操纵数字替换数字

时间:2016-04-20 02:17:24

标签: javascript regex

我有以下字符串:

"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/);

谢谢!

3 个答案:

答案 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)

你必须使用正则表达式吗?

JsBin example

没有正则表达式

这可能是更好的方法:

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)});