В службе node.js я хочу выполнить замену внутри строки, где результирующая строка зависит от числового значения внутри исходной строки. Я должен использовать string.prototype.replace
, и я должен сделать это за один шаг, это условия, поэтому, пожалуйста, не спрашивайте, почему.Условное регулярное выражение JavaScript
var original = "blah/XX/blah"; //XX stands for 00-99
var regexp = new RegExp(/blah\/(d{2})\/blah/, "g");
var alternate = "mama$1/mia";
var result = original.replace(regexp, alternate);
Ожидаемый результат:
XX == 01 => mama/mia
XX > 01 => mamaXX/mia
Как это сделать?
любая строка, которую вы хотите вернуть маме (XX)/mia, заменяя начальную строку? – eltonkamami
Кстати: вам не нужно использовать конструктор RegExp в этом случае, поскольку строка, передаваемая конструктору, является статической, а не динамической. – hindmost
Используйте метод сопоставления строк, а затем используйте оператор if для выполнения разных замещений на основе результата этого оператора if. – evolutionxbox