js заменяет строки в html, как js заменяет строки?
js заменяет строки в html, как js заменяет строки?

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

В js вы можете использовать метод str.replace() для замены строк. Метод replace() используется для замены некоторых символов другими символами в строке или замены подстроки, соответствующей регулярному выражению, а затем возвращает новую строку.

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

Формат:stringObject.replace(regexp/substr,replacement)

возвращаемое значение

Новая строка, полученная путем замены первого или всех совпадений регулярного выражения заменой.

иллюстрировать

Метод replace() строки stringObject выполняет операцию поиска и замены. Он будет искать в stringObject подстроки, соответствующие регулярному выражению, и заменять эти подстроки заменой. Если регулярное выражение имеет глобальный флаг g, то метод replace() заменяет все соответствующие подстроки. В противном случае он заменяет только первую совпадающую подстроку.

замена Это может быть строка или функция. Если это строка, каждое совпадение будет заменено строкой. Но замена имеет особое значение в символе $. Как показано в следующей таблице, она будет использоваться для замены, если мы хотим получить совпадение с шаблоном.

Пример: использовать “hello” заменить нитьв “hi”:

var str=”hi!”;

console.log(str.replace(/hi/, “hello”));

Вывод: здравствуйте!

Расширить знания об использовании replace

1. Основное использование замены

/*Требуется, чтобы все буквы a в строке были заменены на A*/

var str = “JavaScript is great script language!”;

//Только первое совпадение a будет заменено на A

console.log(str.replace(“a”,”A”));

//Только первое совпадение a будет заменено на A. Поскольку глобального поиска нет

console.log(str.replace(/a/,”A”));

//Все a заменяются на A

console.log(str.replace(/a/g,”A”));

Основное использование replace — заменить и удалить указанный класс класса.

/*Запросить удаление недопустимого класса следующего элемента*/

представлять на рассмотрение

var classname = document.getElementById(“j_confirm_btn”).className;

/*(^|\\s) означает совпадение начала строки или пробела перед строкой, (\\s|$) означает совпадение конца строки или пробела после строки*/

var newClassName = classname.replace(/(^|\\s)unabled(\\s|$)/,””);

document.getElementById(“j_confirm_btn”).className = newClassName;

2. Расширенное использование replace —- $i

2.1. Простое использование $i.

/*Требование: заменить двойные кавычки нитьв на "-"*/

var str = ‘”a”, “b”‘;

console.log(str.replace(/”[^”]*”/g,”-$1-“));

//Выходной результат: -$1-, -$1-

/*Объяснение: $1 — это каждый символ, соответствующий предыдущему регулярному выражению (/»[^»]*»/g).*/

2.2. Используйте $i в сочетании с группировкой.

/*Требование: замените следующую строку на: JavaScript — это fn.it — хороший язык сценариев*/

var str = “JavaScript is a good script language”;

console.log(str.replace(/(JavaScript)\s*(is)/g,”$1 $2 fn.it $2″));

/*Объяснение: каждая пара скобок представляет группу, слева направо представляет первую группу, вторую группу... как указано выше, «*(JavaScript)» представляет первую группу,

«(есть)» — вторая группа. $1 представляет соответствующий контент первой группы, $2 представляет соответствующий контент второй группы и так далее...*/

2.3. Используйте $i в сочетании с группировкой — выделением ключевых слов.

Выполнив поиск в Google, мы обнаружим, что искомые нами ключевые слова выделены. Можно ли отобразить этот эффект с помощью JavaScript? Ответ — да, это можно легко сделать с помощью replace().

/*Требование: отобразить следующий код Java красным шрифтом*/

var str = "Netscape первоначально назвала свой язык сценариев LiveScript, который позже был переименован в JavaScript после сотрудничества Netscape с Sun.

JavaScript изначально был вдохновлен Java и был разработан. Одна из целей — «выглядеть как Java», поэтому есть сходство в синтаксисе, а некоторые имена и соглашения об именах также заимствованы из Java.

Но основные принципы проектирования JavaScript заимствованы из Self и Scheme. ";

document.write(str.replace(/(java)/gi,’$1‘));

/*Объяснение: необходимо включить глобальный поиск и игнорировать регистр, иначе не все символы «java» будут найдены*/

2.4. Обратная группировка – обратная ссылка на группировку.

В регулярных выражениях, когда нам нужно сопоставить два или более последовательных одинаковых символа, нам необходимо использовать обратные ссылки. Поиск последовательных повторяющихся символов — одно из самых простых, но наиболее полезных применений обратных ссылок. Вышеуказанный «$i» также является формой обратной группировки. Здесь мы представляем другой тип обратной группировки.

/* /ab(cd)\1e/ Здесь \1 означает повтор содержимого первой группы*/

console.log(/ab(cd)\1e/.test(“abcde”));//false

console.log(/ab(cd)\1e/.test(“abcdcde”));//true

/*Требование: удалить повторяющиеся части в следующих строках"*/

var str = “abbcccdeee”;

var newStr = str.replace(/(\w)\1+/g,”$1″);

console.log(newStr); // abcde

3. Второй параметр расширенного использования замены — это функция

Вторым параметром функции replace может быть не только символ, но и функция!

3.1. Параметр 2 представляет собой подробное пояснение параметров функции.

var str = “bbabc”;

var newStr = str.replace(/(a)(b)/g,function (){

console.log(arguments);//[“ab”, “a”, “b”, 2, “bbabc”]

/*Параметры следующие:

1. Строка, совпадающая по всему регулярному выражению — «ab»

2. Строка, совпадающая с первой группой, строка, совпадающая со второй группой... и так далее до последней группы - "a, b"

3. Это совпадение находится в исходном нижнем индексе, а возвращаемый из является первым совпадающим символом из нижнего индекса --2.

4. Исходная строка — «bbabc».

*/

})

3.2. Случай, когда вторым параметром является первая буква функции заглавными буквами.

/*Требование: писать все первые буквы слова «нитв» с заглавной буквы*/

var str = “Tomorrow may not be better, but better tomorrow will surely come!”;

var newStr = str.replace(/\b\w+\b/gi,function (matchStr){

console.log(matchStr);//совпавшие символы

return matchStr.substr(0,1).toUpperCase() + matchStr.substr(1);

});

console.log(newStr);

3.3 Второй параметр — данные привязки функции — ядро ​​шаблона artTemplate.

Комедии Стивена Чоу:

var data = {

название: «Кунг-фу»,

главный герой: «Стивен Чоу»

},

domStr = ‘

Имя: { {имя}}

Режиссер: { {главный герой}}

‘;

document.getElementById(“content”).innerhtml = formatString(domStr,data);

/*Основой привязки данных является использование регулярного сопоставления*/

function formatString(str,data){

return str.replace(/{ {(\w+)}}/g,function (matchingStr,group1){

return data[group1];

});

}

4. Расширенное использование замены для получения текста, соответствующего регулярному выражению.

4.1 Расширенное использование замены для получения исходной строки, соответствующей регулярному выражению.

var str = “i am a good man”;

var newStr = str.replace(/good/g,”$&”);

console.log(newStr);//Результат: вывод: я хороший человек

/*объяснять:здесь”$&”Просто срегулярное выражение, соответствующее из этого источника нить*/

4.2. Расширенное использование замены для получения символов, соответствующих регулярным выражениям.

/*Требование: заменить «я хороший человек» на «я хороший человек» */

var str = “i am a good man”;

var newStr = str.replace(/good/g,”$&-$&”);

console.log(newStr);

/*объяснять:здесь”$&”Можно попасть на фронтрегулярное выражениесоответствиеизсодержания,Как указано вышеиз”$&”то естьрегулярное выражение соответствует «хорошо»*/

5. Расширенное использование замены: получите символы слева от обычного совпадения.

/*Требование: замените следующую строку на «java-java — хороший скрипт»*/

var str = “javascript is a good script”;

var newStr = str.replace(/script/,”-$`”);

console.log(newStr)

/*Объяснение: «$`» получает содержимое левой части регулярного выражения. Как показано в приведенном выше регулярном выражении, символ перед символом «script» — «java», «-$`» — «. -java", а "-$`" заменит скрипт Lose. */

6. Расширенное использование замены: поместите символы в правую сторону обычного совпадения.

/*Требование: Замените следующие символы на «Java — хороший язык! Это хороший сценарий, это хороший сценарий»*/

var str = “javascript is a good script”;

var newStr = str.replace(/script/,” is a good language!it$'”);

console.log(newStr)

/*Объяснение: «$'» получает содержимое правой части str. Как показано в приведенном выше регулярном выражении, «$'» означает «хороший скрипт».

«хороший язык! it$'» заменит «скрипт», соответствующий регулярному выражению */

Автор: Full stack программист, лидер стека,ПерепечаткаПожалуйста, укажите источник:https://javaforall.cn/144812.htmlИсходная ссылка:https://javaforall.cn

boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.
boy illustration
Nomic Embed: воспроизводимая модель внедрения SOTA с открытым исходным кодом.
boy illustration
Улучшение YOLOv8: EMA основана на эффективном многомасштабном внимании, основанном на межпространственном обучении, и эффект лучше, чем у ECA, CBAM и CA. Малые цели имеют очевидные преимущества | ICASSP2023
boy illustration
Урок 1 серии Libtorch: Тензорная библиотека Silky C++
boy illustration
Руководство по локальному развертыванию Stable Diffusion: подробные шаги и анализ распространенных проблем
boy illustration
Полностью автоматический инструмент для работы с видео в один клик: VideoLingo
boy illustration
Улучшения оптимизации RT-DETR: облегченные улучшения магистрали | Support Paddle облегченный rtdetr-r18, rtdetr-r34, rtdetr-r50, rtdet
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | Деформируемое внимание с большим ядром (D-LKA Attention), большое ядро ​​​​свертки улучшает механизм внимания восприимчивых полей с различными функциями
boy illustration
Создано Datawhale: выпущено «Руководство по тонкой настройке развертывания большой модели GLM-4»!
boy illustration
7B превышает десятки миллиардов, aiXcoder-7B с открытым исходным кодом Пекинского университета — это самая мощная модель большого кода, лучший выбор для корпоративного развертывания.
boy illustration
Используйте модель Huggingface, чтобы заменить интерфейс внедрения OpenAI в китайской среде.
boy illustration
Оригинальные улучшения YOLOv8: несколько новых улучшений | Сохранение исходной информации — алгоритм отделяемой по глубине свертки (MDSConv) |
boy illustration
Второй пилот облачной разработки | Быстро поиграйте со средствами разработки на базе искусственного интеллекта
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция с нулевым кодированием и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
Решенная Ошибка | Загрузка PyTorch медленная: TimeoutError: [Errno 110] При загрузке факела истекло время ожидания — Cat Head Tiger
boy illustration
Brother OCR, библиотека с открытым исходным кодом для Python, которая распознает коды проверки.
boy illustration
Новейшее подробное руководство по загрузке и использованию последней демонстрационной версии набора данных COCO.
boy illustration
Выпущен отчет о крупной модели финансовой отрасли за 2023 год | Полный текст включен в загрузку |
boy illustration
Обычные компьютеры также могут работать с большими моделями, и вы можете получить личного помощника с искусственным интеллектом за три шага | Руководство для начинающих по локальному развертыванию LLaMA-3
boy illustration
Одной статьи достаточно для анализа фактора транскрипции SCENIC на Python (4)
boy illustration
Бросая вызов ограничениям производительности небольших видеокарт, он научит вас запускать большие модели глубокого обучения с ограниченными ресурсами, а также предоставит полное руководство по оценке и эффективному использованию памяти графического процессора!
boy illustration
Команда Fudan NLP опубликовала 80-страничный обзор крупномасштабных модельных агентов, в котором в одной статье представлен обзор текущего состояния и будущего агентов ИИ.
boy illustration
[Эксклюзив] Вы должны знать о новой функции JetBrains 2024.1 «Полнострочное завершение кода», чтобы решить вашу путаницу!
boy illustration
Краткое изложение базовых знаний о регистрации изображений 1.0
boy illustration
Новейшее подробное руководство по установке и использованию библиотеки cv2 (OpenCV, opencv-python) в Python.
boy illustration
Легко создайте локальную базу знаний для крупных моделей на основе Ollama+AnythingLLM.
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание решения. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Одна статья поможет вам понять RAG (Retrival Enhanced Generation) | Введение в концепцию и теорию + практику работы с кодом (включая исходный код).
boy illustration
Эволюция архитектуры шлюза облачной разработки
boy illustration
Docker и Kubernetes [Разработка контейнерных приложений с помощью Python]