Страницы

Поиск по вопросам

пятница, 13 декабря 2019 г.

Замена слова без replace

#javascript


Как можно при помощи javascript заменить слово в тексте, не используя replace?

var text = "Этот трактат по теории этики был очень популярен в эпоху Возрождения"; 


Здесь нужно заменить слово "теории" на "практика".
    


Ответы

Ответ 1



В качестве простой замены метода replace можно использовать пару методов split и join В таком виде: str.split('подстрока которую заменить').join('строка на которую заменить'); Пример: var text = "test 1, test 2, test 3, test 4, test 5, test 6"; document.body.innerHTML = text + '
'+ text.split('test').join('newTest');

Ответ 2



Для разнообразия также можно произвести замену с помощью 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); // Этот трактат на практике этики

Комментариев нет:

Отправить комментарий