JavaScript正则表达式:在字符串中的特定位置注入特定数字

时间:2011-02-05 02:59:03

标签: javascript regex

var s = '-10px -10px';
var n = '33px';

我需要一个产生此结果的正则表达式:'-10px 33px'

类似于:s.replace(???, n)

3 个答案:

答案 0 :(得分:3)

如果您想在字符串末尾只替换-10,可以这样做:

s = s.replace(/-10px$/, n);

如果您希望能够替换任何号码,那么您可以改为使用\d

/-?\d+px$/

答案 1 :(得分:2)

如何不使用任何正则表达式?

s = s.substring(0, s.indexOf(" ")) + " " + n

答案 2 :(得分:0)

您可以使用以下功能:

function repl(s, n, p) {
    var arr=s.split(/ /);
    arr[p] = n;
    return arr.join(' ');
}

并将其用作:

var new = repl('-10px -10px', '33px', 1);

这会将第二个-10px替换为33px