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.

Дякую за увагу, сподіваюся, що ви дізналися багато нового і цікавого!