javascript字符串替换$1(如果它是某个值)

javascript string.replace $1 if it is a certain value?

本文关键字:如果 替换 字符串 javascript      更新时间:2023-09-26

是否有办法检查$1的值,如果它等于"left",则用"newleft"替换?

类似于以下内容:str.replace(re, 'Blah blah $2, $1="left" ? "newleft": "something" ');

如果将回调函数作为字符串放置方法的第二个参数传递,则正则表达式中捕获的字符串将作为参数传递给回调函数。您可以使用这些参数返回一个新字符串,并对捕获的字符串执行任何必要的逻辑。

示例1:

'left, right'.replace(/(.*),'s(.*)/, function(match, p1, p2) {
    return 'Blah blah ' + p2 + ', ' + (p1 === 'left' ? 'newleft' : 'something');
});

回复:

"Blah blah right, newleft"

示例2:

'top, right'.replace(/(.*),'s(.*)/, function(match, p1, p2) {
    return 'Blah blah ' + p2 + ', ' + (p1 === 'left' ? 'newleft' : 'something');
});

回复:

"Blah blah right, something"