У меня есть переменная JavaScript со строковым содержимым, имеющим запятые (,). Как заменить последнюю запятую (,) на «и» с помощью RegExp?
var band = "John, Paul, George, Ringo";
var beatles = band.replace(<reg-exp>, "and");
console.info(beatles); //outputs "John, Paul, George and Ringo"
Вы можете использовать жадный .*
в начале перед запятой и захватить в группе, чтобы вернуть его взамен:
str = str.replace(/^(.*),/, "$1 and");
Демонстрация регулярных выражений
.*
будет соответствовать самой длинной строке, прежде чем соответствовать последней ,
.
Другой подход заключается в использовании класса отрицательных символов в конце для соответствия 0 или более символов, не являющихся запятыми, после запятой:
str = str.replace(/,\s*([^,]*)$/, " and $1");
Демонстрация регулярных выражений 2
Именно то, что мне было нужно! Весьма признателен :-)
Вы используете только регулярное выражение или любой другой способ?