Вы можете использовать JavaScript-метод replace()в сочетании с регулярным выражением, чтобы найти и заменить все вхождения слова или подстроки внутри любой строки.

Давайте посмотрим на пример, чтобы понять, как работает этот метод:

<script>
    var myStr = 'freedom is not worth having if it does not include the freedom to make mistakes.';
    var newStr = myStr.replace(/freedom/g, "liberty");
    
    // Печатаем измененную строку
    document.write(newStr);
</script>

Однако, если строка поступает из неизвестных / ненадежных источников, таких как вводимые пользователем данные, вы должны экранировать ее перед передачей в регулярное выражение. Следующий пример покажет вам лучший способ найти и заменить одну строку на другую в JavaScript.

<script>
/* Определяем функцию для экранирования пользовательского ввода, которая будет рассматриваться как
     буквальная строка в регулярном выражении */
function escapeRegExp(string){
    return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
    
/* Определяем функцию для поиска и замены конкретного термина строкой замены */
function replaceAll(str, term, replacement) {
    return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);
}
    
/* Тестирование нашей функции replaceAll()  */
var myStr = 'if the facts do not fit the theory, change the facts.';
var newStr = replaceAll(myStr, 'facts', 'statistics')
    
// Печатаем измененную строку
document.write(newStr);
</script>

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.