Новини високих технологій
» » Використання методу JavaScript replace()

Використання методу JavaScript replace()

11-12-2017, 21:50
890
Робота з рядками в jаvascript виконана у форматі методів рядкових об'єктів, але допускає використання функціональності інших, наприклад, масивів, чисел та описів.
Використання методу JavaScript replace()
Метод jаvascript replace має особливе значення, часто його важко замінити іншими комбінаціями.

Синтаксис і приклад застосування

Для опису рядків застосовуються символи подвійного і одиночного апострофа: «"» і «'». Для запису регулярного виразу прийнято використання похилої риски «/». Але не слід забувати, що пара символів «//» - це не запис порожнього регулярного виразу, а коментар.


В даному прикладі конструкція jаvascript 'text' replace працює лише з одним символом: 'a' і 'А'. Вираз (1) не використовує ніяких додаткових вказівок (опцій пошуку), тому метод змінює тільки перше входження літери 'а'. Наступні два вирази показують, сенс застосування опції пошуку i - регістр символу (рядка). Застосування опції g - дозволяє замінити всі входження символу (рядка).

Покращений приклад застосування

З точки зору сприйняття і розуміння, наведений приклад jаvascript replace не працює налагоджено: важко візуально виявити виконану заміну. Якщо застосувати цей метод для заміни зроблених замін» на тег зміни кольору, то буде виконана хороша робота і сприйняття роботи функції істотно покращиться.
Вихідна рядок змінена. Після формування рядка приклад застосування методу jаvascript replace виходить рядок 'dst'. До неї застосовується також метод replace з метою отримання рядки 'dst_replace', в якій шукане входження (позначено зеленим кружечком) і всі заміни будуть позначені синім кольором і іншим розміром.


У рядку заміни використані символи '$&' які означають "вставити знайдене входження". Це дуже зручна можливість. Фактично розробник отримує можливість написати регулярний вираз, результат якого можна відстежити при формуванні рядка результату.

Використання результату пошуку

Застосувавши jаvascript replace, розробник може отримати (як результат виконання регулярного виразу): $& - шукане; $` - той, що йде до шуканого; $' - той, що йде після шуканого. З перерахованого, доцільно використовувати тільки перше, хоча досвідчений розробник (або завдання того вимагає) може використовувати всі варіанти. Є ще можливість використовувати конструкцію $n $nn, що означає звернення до n-ному збігом регулярного виразу. Але бажано уникати застосування цієї можливості.
За загальною логікою, метод jаvascript replace спрямований на підвищення зручності роботи з рядками і реалізує механізм гнучкої обробки рядків. Прив'язка до конкретного входженню обмежує гнучкість алгоритму, а вибір того, що йде до знайденого збігу або після нього, може створити громіздкий результат.

Функція в конструкції jаvascript replace

Замість другого параметра методу можна використовувати функцію, результат роботи якої буде підставлена замість виявленого збігу.
У цьому прикладі у разі збігу регулярного виразу викликається функція scChange(), яка визначає кількість одержуваних параметрів і формує висновок.
Тут функція не робить нічого істотного, а демонструє зміст одержуваних нею параметрів. Після кожного звернення jаvascript replace, перенесення рядка "" використовується як роздільник. В результаті виходить приблизно наступне:
Видно, що кожен раз в функцію передається три параметра: перший - шукана підрядок; другий - позиція її входження; третій - вихідна рядок. В залежності від того, яке використовується регулярний вираз, одержувані функцією, дані будуть суттєво відрізнятися і за кількістю, і за змістом.

Особливості застосування методу

jаvascript replace - інструмент для гнучкої обробки рядків. Використання в якості другого параметра функції робить цей інструмент не тільки гнучким, але і дивно різноплановим.
Фактично мова браузера надає розробникові можливість формулювати регулярний вираз в якості умови прийняття рішення, яке виконує функція. Ніяких особливих обмежень на функцію не накладається, можливість виявлення кількості переданих параметрів доступна за визначенням: це класичний функціонал jаvascript. Трудність складають самі регулярні вирази. Потрібно бути гранично уважними при їх складанні і не прагнути одним виразом вирішити поставлену задачу. Частіше зручніше проводити розбирання необхідної рядка поетапно. Це простіше, надійніше і дає контрольований алгоритм і прозорий результат.
Цікаво по темі
Використання елементів DOM через JavaScript getElementById
Використання елементів DOM через JavaScript getElementById
Створення динамічних сторінок передбачає безпосередній доступ до існуючих елементів, створення нових і зміна їх властивостей. Використання методу
Використання функції JavaScript setTimeout()
Використання функції JavaScript setTimeout()
Функція jаvascript setTimeout() дозволяє розробнику передбачити виконання конкретного коду строго через конкретний час. Важлива особливість
Javascript: робота з рядками, функції
Javascript: робота з рядками, функції
Робота з рядками є важливою складовою в jаvascript. Від алгоритмів обробки рядків залежить не тільки якість виконаного рішення, але і
Використання indexOf (JavaScript) при роботі з масивами і рядками
Використання indexOf (JavaScript) при роботі з масивами і рядками
Пошук і програмування не стільки синоніми, скільки друге без першого просто не має сенсу. Шукати і приймати рішення - основа будь-якого алгоритму,
Обробка рядків. Метод JavaScript replace()
Обробка рядків. Метод JavaScript replace()
Гіпертекст у форматі HTML, CSS, XML, власні варіанти рядкового подання інформації з сервера надходять ...
Javascript Array для збереження необмеженої кількості змінних
Javascript Array для збереження необмеженої кількості змінних
Логічно масив займає проміжне положення між змінними і об'єктами. Практично не слід надавати особливого значення словам. У програмі є змінні і код.