Как можно при помощи javascript заменить слово в тексте, не используя replace?
var text = "Этот трактат по теории этики был очень популярен в эпоху Возрождения";
Здесь нужно заменить слово "теории" на "практика".
В качестве простой замены метода replace можно использовать пару методов split и join
В таком виде:
str.split('подстрока которую заменить').join('строка на которую заменить');
Пример:
var text = "test 1, test 2, test 3, test 4, test 5, test 6";
document.body.innerHTML = text + '<br/>'+
text.split('test').join('newTest');
Для разнообразия также можно произвести замену с помощью indexOf() и substring(). Точнее, это уже больше не "замена" а "копировать/вырезать/вставить", но тоже работает.
function replace(str, find, word) {
var result = str, i = 0, len = find.length;
while (len) {
i = result.indexOf(find, i);
if (i == -1) {
break;
}
result = result.substring(0, i) + word + result.substring(i + len);
i += len;
}
return result;
}
var newStr = replace("Этот трактат по теории этики", "по теории", "на практике");
console.log(newStr); // Этот трактат на практике этики
Сборка персонального компьютера от Artline: умный выбор для современных пользователей