Javascript поиск и замена - PullRequest
       10

Javascript поиск и замена

7 голосов
/ 04 февраля 2009

Я хотел бы сделать следующее в Javascript (псевдокод):

myString.replace(/mypattern/g, f(currentMatch));

, то есть строка замены не исправлена, но функция текущего совпадения.

Ответы [ 2 ]

6 голосов
/ 04 февраля 2009

MDC утверждает, что вы можете сделать именно это:

function styleHyphenFormat(propertyName)
{
  function upperToHyphenLower(match)
  {
    return '-' + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/, upperToHyphenLower);
}

Или более обобщенно:

myString.replace(/mypattern/g, function(match){
    return "Some function of match";
});
6 голосов
/ 04 февраля 2009

Просто опустите аргумент, т.е. используйте это:

myString.replace(/mypattern/g, f);

Вот пример: http://ejohn.org/blog/search-and-dont-replace/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...