JavaScript正则表达式:在字符串的特定位置注入特定的数字
我需要一个生成此结果的regexp:JavaScript正则表达式:在字符串的特定位置注入特定的数字,javascript,regex,Javascript,Regex,我需要一个生成此结果的regexp:'-10px 33px' 类似于:s.replace(?,n)如果希望只替换字符串末尾的-10,可以执行以下操作: var s = '-10px -10px'; var n = '33px'; 如果您想替换任何号码,则可以使用\d: s = s.replace(/-10px$/, n); 如果希望仅替换字符串末尾的-10,可以执行以下操作: var s = '-10px -10px'; var n = '33px'; 如果您想替换任何号码,则可以使用\d
'-10px 33px'
类似于:
s.replace(?,n)
如果希望只替换字符串末尾的-10
,可以执行以下操作:
var s = '-10px -10px';
var n = '33px';
如果您想替换任何号码,则可以使用\d
:
s = s.replace(/-10px$/, n);
如果希望仅替换字符串末尾的
-10
,可以执行以下操作:
var s = '-10px -10px';
var n = '33px';
如果您想替换任何号码,则可以使用\d
:
s = s.replace(/-10px$/, n);
不使用任何正则表达式怎么样
/-?\d+px$/
不使用任何正则表达式怎么样
/-?\d+px$/
您可以使用如下函数:
s = s.substring(0, s.indexOf(" ")) + " " + n
并将其用作:
function repl(s, n, p) {
var arr=s.split(/ /);
arr[p] = n;
return arr.join(' ');
}
这将第二个
-10px
替换为33px
您可以使用如下功能:
s = s.substring(0, s.indexOf(" ")) + " " + n
并将其用作:
function repl(s, n, p) {
var arr=s.split(/ /);
arr[p] = n;
return arr.join(' ');
}
这将用
33px
替换第二个-10px
,Regex更短,可读性更强(对于那些能够阅读Regex的人来说)更短,是的。。。更具可读性?嗯,就像你说的,这要看情况而定正则表达式更短,可读性更强(对于那些能够阅读正则表达式的人来说)更短,是的。。。更具可读性?嗯,就像你说的,这要看情况而定