вопрос о методе замены строки JavaScript

Я знаю, что могу передать строку как второй параметр к строковому методу замены объекта JavaScript. В этом случае я могу использовать $' и $' к ссылке слева/справа текст части успешного соответствия. Теперь мой вопрос, Если я передаю функцию обратного вызова как второй параметр, как я могу получить ту же информацию? Я хочу использовать эту информацию в функции обратного вызова. Большое спасибо.

7
задан Just a learner 1 March 2010 в 02:47
поделиться

1 ответ

См. документацию Mozilla ; вы не получите эти данные бесплатно.

Хорошая новость в том, что вы получите смещение совпадения в качестве предпоследнего аргумента, а всю строку в качестве последнего. Таким образом, вы можете запускать свои собственные функции подстроки.

var str = 'abc';
str = str.replace('b', function (match, offset, full) {
    var before = full.substr(0, offset),
        after = full.substr(offset + 1, full.length - offset);
    return 'foo'; // or, ya know, something actually using before and after
});
10
ответ дан 7 December 2019 в 01:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: