Javascript методи роботи з рядками, alexdev
Я прочитав безліч статей по роботі з рядками. У даній статті буде показано приклади і нам інформацію про те найбільш поширених методів по роботі з рядками. Я спробував поставити найчастіші методи в верхній частині для швидкого ознайомлення.
Звичайно, більшість досвідчених розробників вже досить знайомі з багатьма з методів, але я думаю, що це хороший список для початківців, щоб розуміти спектр методів, які можуть допомогти виконати складні операції простими засобами.
Конвертація в String
Ви можете конвертувати число, логічне вираз або об'єкт в рядок:
Ви можете зробити це так само за допомогою String ():
Якщо ви не впевнені, що значення не є null або undefined. ви можете використовувати String (). яка завжди повертає рядок, незалежно від типу значення.
Поділ рядки в подстроки
Щоб розділити рядки в масив підрядків, ви можете використовувати метод split ():
Як видно в останньому рядку, другий параметр функції - це ліміт кількості елементів, яке буде в підсумковому масиві.
Отримання довжини рядка
Щоб знайти, скільки символів в рядки, ми використовуємо властивість length:
Пошук підрядка в рядку
Є два методи для пошуку підрядка:
indexOf () метод починає пошук підрядка з початку рядка, і повертає позицію початку першого входження підрядка. В даному випадку - 7 позиція.
Метод повертає початкову позицію останнього входження підрядка в рядок.
В обох методах, якщо підрядок не знайдено, повертається значення -1, і обидва приймають необов'язковий другий аргумент, який вказує положення в рядку, де ви хочете почати пошук. Таким чином, якщо другий аргумент «5», indexOf () починає пошук з 5 символу, ігноруючи символи 0-4, в той час як lastIndexOf () починає пошук з символу 5 і йде в зворотному напрямку, ігноруючи символи 6 і далі.
заміна підрядка
Щоб замінити входження підрядка в рядку на іншу подстроку, ви можете використовувати replace ():
Перший аргумент - те, що ви хочете замінити і другий аргумент - новий рядок. Функція замінює тільки перше входження підрядка в рядок.
Щоб замінити всі входження, потрібно використовувати регулярний вираз з глобальним прапором:
Другий аргумент може включати спеціальний шаблон або функцію. Детальніше можна почитати тут.
Отримати символ по заданій позиції в рядку
Отримати символ ми можемо за допомогою функції charAt ():
В якості альтернативної функції можна використовувати charCodeAt () функцію, яка код символу.
Зауважте, що код для символу «F» (11 позиція) інший, ніж у символу «f» (позиція 7).
з'єднання рядків
У більшості випадком, щоб з'єднати рядки, можна використовувати оператор «+». Але так само можна використовувати метод concat ():
Таким способом ми можемо поєднати безліч рядків в одну в тому порядку, в якому вони записані:
витяг подстроки
Є 3 способи отримання рядка з частини іншого рядка:
В обох функція перший параметр - символ, з якого починає подстрока (починаючи з 0 позиції) і другий аргумент (необов'язковий) - позиція символу, до якого повертається підрядок. У прикладі (5, 10) повертається рядок між позицією 5 і 9.
Перший аргумент - позиція символу, з якого починається новий рядок і другий аргумент - кількість символів від початкової позиції нового рядка. Тобто (5, 10) повертає 10 символів, починаючи з 5 позиції.
Переклад рядка в верхній або нижній регістр.
Є 4 методу для перекладу. Перші 2 переводять рядок у верхній регістр:
Інші 2 переводять рядок в нижній регістр:
Краще використовувати «locale» методи, тому що в різних місцях, наприклад, в Туреччині відображення регістрів працює не зовсім так, як ми звикли і тому результат може бути той, який ми хотіли. Якщо використовувати «locale» методи, то таких проблем не буде.
Pattern Matching
Відповідність за шаблоном в рядку може бути використано за допомогою 2-х методів, які працюють по-різному.
Метод match () застосовується до рядка і він приймає як параметр регулярний вираз:
Метод exec () застосовується до об'єкта регулярного виразу і приймає як параметр рядок:
В обох методах повертається лише перший збіг. Якщо збігів не було - повертається null.
Так само можна використовувати метод search (). який приймає регулярний вираз і повертає позицію першого збігу за шаблоном:
Якщо збігів не було - повертається «-1«.
Порівняння двох рядків для сортування
Ви можете порівняти 2 рядки, щоб визначити, яка з них йде перша за алфавітом. Для цього скористаємося методом localeCompare (). який повертає 3 можливих значення:
Як було показано вище, негативне число повертається, якщо строковий аргумент йде після початкового рядка. Позитивне число, якщо строковий аргумент йде раніше заданої стрічки. Якщо повернувся 0 - значить рядки рівні.
Для перевірки значення, що повертається краще використовувати if (result <0 ), чем if ( result === -1 ). Последнее не будет работать в Chrome.
Дякую за увагу, сподіваюся, що ви дізналися багато нового і цікавого!