Javascript функції роботи з рядками. Завдання на функції роботи з рядками JavaScript. Змінні із шаблонними літералами

💖 Подобається?Поділися з друзями посиланням

Коли я пишу на javascript, то часто доводиться звертатися до пошуковим системам, з метою уточнити синтаксис методів (і порядок, визначення аргументів) працюючих з рядками.

У цій статті я постараюся навести приклади та опис найбільш поширених методів JavaScript, пов'язаних з рядками. Найбільш популярні методи зручності розташовані у верхній частині статті.

Перетворюємо на рядок

Ви можете перетворити число, значення або об'єкт в рядок.

Var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

Ви також можете зробити подібну маніпуляцію за допомогою функції string().

Var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Ніколас Закас каже: "Якщо ви не впевнені у значенні (null або undefined), то використовуйте функцію String() , оскільки вона повертає рядок незалежно від типу змінної".

undefinedозначає, що змінної не надано жодного значення, a null, - що їй присвоєно порожнє значення (можна сказати, що null визначається як порожній об'єкт).

Розбиваємо рядок на підрядки

Щоб розбити рядок на масив з підрядків, ви можете використовувати метод split() :

Var myString = "coming,apart,at,the,commas";

var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["coming", "apart", "at"]

Як випливає з останнього рядка, значення другого необов'язкового аргументу визначає кількість елементів у масиву, що повертається.

Отримати довжину рядка

За допомогою властивості length ви можете знайти число юнікодних символів у рядку:

Var myString = "You"re quite a character."; var stringLength = myString.length; // 25

Визначаємо підрядок у рядку

Є два способи здійснити задумане:

Використовувати indexOf() :

Var stringOne = "Johnny Waldo Harrison Waldo";

var wheresWaldo = stringOne.indexOf("Waldo"); // 7

Var stringOne = "Johnny Waldo Harrison Waldo";

var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Метод lastIndexOf() робить все те ж саме, за винятком того, що він шукає останній підрядок за входженням у рядок.

У випадку, якщо підрядок не знайдено, обидва методи повертають -1. Другий необов'язковий аргумент вказує на позицію у рядку, з якого ви хочете розпочати пошук. Так, якщо для методу indexOf() другий аргумент дорівнює 5, пошук почнеться з 5-го символу, а 0-4 символи будуть проігноровані. Для lastIndexOf() , також якщо другий аргумент дорівнює 5, пошук почнеться у зворотному напрямку, причому символи від 6-го та вище будуть проігноровані.

Як замінити частину рядка

Щоб замінити частину (або навіть усі) рядки, використовуйте метод replace() .

Var slugger = "Josh Hamilton";

var betterSlugger = slugger.replace("h Hamilton", "e Bautista");

console.log(betterSlugger); // "Jose Bautista"

У першому аргументі міститься та частина підрядка, яка підлягає заміні; другий аргумент - це той рядок, який встане на місце підрядки, що замінюється. Буде замінено лише перший екземпляр підрядка.

Щоб замінити всі входження підрядки, використовуйте регулярний вираз c прапором "g".

Var myString = "She sells automotive shells on the automotive shore";

var newString = myString.replace(/automotive/g, "sea");

console.log(newString); // "She sells sea shells on the sea shore"

Другий аргумент може включати замінний підрядок або функцію.

Знайти символ за заданою позицією

Щоб з'ясувати, який символ стоїть у заданій позиції, ви можете використовувати метод charAt() :

Var myString = "Birds of a Feather";

var whatsAtSeven = myString.charAt(7); // "f"

Як це часто буває в JavaScript, перша позиція веде свій відлік з 0, а не з 1.

У concat() можна передати безліч рядків, причому в результуючому рядку вони будуть розташовані в порядку додавання в метод concat() .

Var stringOne = "Knibb";

var stringTwo = "High ";

var stringThree = "football"; var stringFour = "rules."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour);

console.log(finalString); // "Knibb high football rules."

Частина рядка (отримати підрядок у javascript)

Є три

різних способу

створити новий рядок, "висмикнувши" частину підрядка з вже наявного рядка.

Використовуючи slice() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz";

var stringTwo = stringOne.slice(5, 10); // "fghij"

Використовуючи substring() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz";

var stringTwo = stringOne.substring(5, 10); // "fghij"

Для обох (slice() і substring()) методів перший аргумент - це позиція символу, з якого починається підрядок (відлік ведеться з 0), другий аргумент - це позиція символу, на якому підрядок закінчується, причому символ, позначений у другому аргументі, не включається в повертається підрядок.

Використовуючи substr() :

Як правило, немає різниці між locale-методом та не-locale-методом, проте "для деяких мов, наприклад для турецької, у яких регістр символів не слідує встановленому регістру в системі Unicode, наслідки використання не-locale-методу можуть бути різними". Тому дотримуйтесь наступного правила: "якщо ви не знаєте мови, в якій працюватиме код, безпечніше використовувати locale-методи".

Відповідність шаблону в javascript

Перевірити наявність шаблону в рядку можна за допомогою 2-х методів.

Метод match() викликається у об'єкта string , як аргумент методу match() передається регулярне вираз.

Var myString = "How much wood could a wood chuck chuck";

var myPattern = /.ood/;

var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "How much wood could a wood chuck chuck"

І exec() метод викликається у RegExp об'єкта, як аргумент передається рядок: Var myString = "How much wood could a wood chuck chuck"; var myPattern = /.huck/;

var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "How much wood could a wood chuck chuck"

Обидва методи повертають перше збіг входження. Якщо збіги не знайдені буде повернуто NULL. Якщо у

регулярного вираження

присутній прапор "g", то як результат буде повернено масив, що містить усі збіги.

Ви також можете використовувати метод search(), який як аргумент приймає регулярний вираз і повертає початкову позицію першого шаблону, що збігся.

Var myString = "Assume";

var patternLocation = myString.search(/ume/); // 3 Якщо збігів не виявлено, спосіб поверне -1., якщо оригінальний рядок при сортуванні виявляється перед рядковим аргументом, якщо рядковий аргумент при сортуванні виявляється після оригінального рядка, повертається значення +1. Якщо повертається нульове значення, два рядки еквівалентні.

Як семантичні «каркаси» використання функцій та конструкцій для обробки рядків становлять особливий інтерес для програмування процесів обробки інформації за її змістовим змістом. Мовою JavaScript функціїроботи з рядками можна комбінувати у власні смислові конструкції, спрощуючи код та формалізуючи предметну область завдання.

У класичному варіанті обробка інформації – це, перш за все, рядкові функції. Кожна функція та конструкція мови має свої особливості у синтаксисі та семантиці JavaScript. Методи роботи з рядками тут мають свій стиль, але у звичайному застосуванні це просто синтаксис у межах простої семантики: пошук, заміна, вставка, витяг, контенкація, зміна регістру.

Опис рядкових змінних

Для оголошення рядка використовується конструкція var.Можна відразу задати її значення або формувати його під час виконання алгоритму. Для рядка можна використовувати одинарні або подвійні лапки. Якщо в ній має бути лапка, її необхідно екранувати символом \.

Рядок, позначений вимагає екранування внутрішніх подвійних лапок. Аналогічно та, що позначена одинарними, критична до наявності всередині одинарних лапок.

У цьому прикладі у рядку «str_dbl» перераховані корисні спеціальні символи, які можна використовувати у рядку. При цьому сам символ \ екранується.

Рядок - це завжди масив

Робота JavaScript з рядками може виконуватися безліччю способів. Синтаксис мови надає багато варіантів. Насамперед ніколи не слід забувати, що (в контексті зроблених описів):

  • str_isV => "V";
  • str_chr => """;
  • str_dbl => "a".

Тобто символи рядка доступні як елементи масиву, кожен спеціальний символ - це один символ. Екранування – це елемент синтакісу. У реальний рядок ніякий екран не поміщається.

Використання функції charAt() дає аналогічний ефект:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => """;
  • str_dbl.charAt(5) => "a".

Програміст може використати будь-який варіант.

Основні рядкові функції

У JavaScript виконано дещо інакше, ніж в інших мовах. До імені змінної (або рядка) через точку записується ім'я функції. Зазвичай малі функції називають способами в стилі синтаксису мови, але перше слово звичніше.

Найважливіший метод рядка (правильніше - властивість) - його довжина.

  • var xStr = str_isV.length + "/" + str_chr.length + "/" + str_dbl.length.

Результат: 11/12/175 за рядками наведеного вище опису.

Найважливіша мала рядок функцій - поділ рядка на масив елементів і злиття масиву в рядок:

  • split(s [, l]);
  • join(s).

У першому випадку рядок розбивається за символом-розділювачем "s" на масив елементів, в якому кількість елементів не перевищує значення "l". Якщо кількість не задано, то розбивається весь рядок.

У другому випадку масив елементів зливається в один рядок через заданий роздільник.

Примітна особливість цієї пари: розбиття можна проводити по одному роздільнику, а злиття - по іншому. У цьому контексті в JavaScript роботаз рядками може бути виведена за межі синтаксису мови.

Класичні малі функції

Звичайні функції обробки рядків:

  • пошук;
  • вибірка;
  • заміна;
  • перетворення.

Представлені методами: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() та іншими.

У JavaScript робота з рядками представлена ​​безліччю функцій, але вони або дублюють один одного, або залишені для старих алгоритмів та сумісності.

Наприклад, використання методу concat() припустимо, але простіше написати:

  • str = str1 + str2 + str3;

Застосування функції charAt() теж має сенс, тоді як застосування charCodeAt() має реальне практичне значення. Аналогічно, для JavaScript перенесення рядка має особливе значення: у контексті виведення на екран, наприклад, у повідомленні alert() - це \n, у конструкції формування контенту сторінки
». У першому випадку це просто символ, а в другому рядок символів.

Рядки та регулярні вирази

У JavaScript робота з рядками включає механізм регулярних виразів. Це дозволяє виконувати всередині браузера складні пошуки, вибірки та перетворення рядків без звернення до сервера.

Метод matchзнаходить, а replaceзамінює знайдений збіг необхідним значенням. Регулярні висловлювання реалізовані JavaScript на високому рівні, по суті своїй, є складними, а через специфіку застосування переносять центр тяжіння з сервера в браузер клієнта.

При застосуванні методів match, searchі replaceслід не тільки приділити належну увагу тестуванню на всьому спектрі допустимих значень вихідних параметрів та рядків, але й оцінити навантаження на браузер.

Приклади регулярних виразів

Область застосування регулярних виразів для обробки рядків велика, але вимагає великої акуратності та уважності від розробника. В першу чергу регулярки знаходять застосування під час тестування введення користувача в полях форм.

Тут представлені функції, які перевіряють, чи введення містить ціле число (schInt) або число речовинне (schReal). Наступний приклад показує, наскільки ефективно обробляти рядки, перевіряючи їх на наявність лише допустимих символів: schText – лише текст, schMail – правильна адреса електронної пошти.

Дуже важливо мати на увазі, що в JavaScript символиі рядки вимагають підвищеної уваги до локалі, особливо коли потрібно працювати з кирилицею. У багатьох випадках доцільно вказувати реальні кодисимволів, ніж їх значення. Російських букв це стосується насамперед.

Слід зазначити, що які завжди слід виконувати завдання, як і поставлена. Зокрема щодо перевірки цілих чисел і речових: можна обійтися не класичними малими методами, а звичайними конструкціями синтаксису.

Об'єктно-орієнтовані рядки

У JavaScript робота з рядками представлена ​​широким асортиментом функцій. Але це не є вагомою основою для використання їх у первозданному вигляді. Синтаксис та якість функцій бездоганні, але це універсальне рішення.

Будь-яке застосування малих функцій передбачає обробку реального сенсу, що визначається даними, сферою застосування, конкретним призначенням алгоритму.

Ідеальне рішення завжди полягає в тому, щоб інтерпретувати дані щодо їхнього змісту.

Представляючи кожен параметр як об'єкта, можна сформулювати функції до роботи з ним. Завжди йдеться про обробку символів: числа чи рядки – це конкретним чином організовані послідовності символів.

Існують загальні алгоритми, а є приватні. Наприклад, прізвище або номер будинку - це рядки, але якщо в першому випадку допустимі лише російські літери, то у другому випадку допустимі цифри, російські літери і можуть зустрічатися дефіси чи індекси через похилу межу. Індекси можуть бути літерними або цифровими. Будинок може мати корпуси.

Усі ситуації не завжди можна передбачити. Це важливий момент у програмуванні. Рідкісний алгоритм не вимагає доопрацювання, а в більшості випадків доводиться систематично коригувати функціонал.

Формалізація оброблюваної рядкової інформації як об'єкта покращує читабельність коду, дозволяє вивести його до рівня смислової обробки. Це інший ступінь функціональності та значно Краща якістькоду за більшої надійності розробленого алгоритму.

Коли пишеш JavaScript, дуже часто доводиться лазити інтернетом у пошуках інформації про синтаксис і параметри для методів, що працюють з рядками.

Я прочитав безліч статей з роботи з рядками. У даному пості будуть показані приклади і короткі описинайпоширеніших методів роботи з рядками. Я спробував поставити найчастіші методи у верхній частині швидкого ознайомлення.

Звичайно, більшість досвідчених розробників вже досить знайомі з багатьма методами, але я думаю, що це хороший список для початківців, щоб розуміти спектр методів, які можуть допомогти виконати складні операції простими засобами.

Конвертування в String

Ви можете конвертувати число, булевий вираз або об'єкт у рядок:

Var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

Ви можете зробити це так само за допомогою String():

Var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Якщо ви не впевнені, що значення не є nullабо undefined, Ви можете використовувати String(), яка завжди повертає рядок незалежно від типу значення.

Поділ рядка на підрядки

Щоб розділити рядки на масив підрядків, ви можете використовувати метод split():

Var myString = "coming,apart,at,the,commas"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["coming", "apart", "at"]

Як видно в останньому рядку, другий параметр функції - це ліміт кількості елементів, яка буде у підсумковому масиві.

Отримання довжини рядка

Щоб знайти скільки символів у рядки, ми використовуємо властивість length:

Var myString = "You"re quite a character."; var stringLength = myString.length; // 25

Пошук підрядки у рядку

Є два методи для пошуку підрядка:

Використання indexOf():

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

indexOf()метод починає пошук підрядка з початку рядка, і повертає позицію початку першого входження підрядка. В даному випадку – 7 позиція.

Використання lastIndexOf():

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Метод повертає початкову позицію останнього входження підрядка в рядок.

В обох методах, якщо підрядок не знайдено, повертається значення -1, і обидва приймають необов'язковий другий аргумент, що вказує положення у рядку, де ви хочете розпочати пошук. Таким чином, якщо другий аргумент «5», indexOf()починає пошук з 5 символів, ігноруючи символи 0-4, в той час як lastIndexOf()починає пошук із символу 5 і йде у зворотному напрямку, ігноруючи символи 6 і далі.

Заміна підрядка

Щоб замінити введення підрядка в рядок на інший підрядок, ви можете використовувати replace():

Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

Перший аргумент - те, що ви хочете замінити і другий аргумент - новий рядок. Функція замінює лише перше входження підрядка в рядок.

Щоб замінити всі входження, потрібно використовувати регулярний вираз із глобальним прапором:

Var myString = "She sells automotive shells on the automotive shore"; var newString = myString.replace(/automotive/g, "sea"); console.log(newString); // "She sells sea shells on the sea shore"

Другий аргумент може містити спеціальний шаблон або функцію. Детальніше можна почитати.

Отримати символ за заданою позицією у рядку

Отримати символ ми можемо за допомогою функції charAt():

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "f"

Як часто буває JavaScript, перша позиція в рядку починається з 0, а не з 1.

Як альтернативну функцію можна використовувати charCodeAt()функцію, яка кодує символ.

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Зауважте, що код символу «F» (11 позиція) інший, ніж символ «f» (позиція 7).

З'єднання рядків

Здебільшого, щоб з'єднати рядки, можна використовувати оператор «+». Але так само можна використовувати метод concat():

Var stringOne="Knibb High football"; var stringTwo = stringOne.concat("rules."); // "Knibb High football rules"

Таким чином ми можемо з'єднати безліч рядків в один у тому порядку, в якому вони записані:

Var stringOne = "Knibb"; var stringTwo = "High "; var stringThree = "football"; var stringFour = "rules."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "Knibb high football rules."

Вилучення підрядка

Є 3 способи отримання рядка з частини іншого рядка:

Використовуючи slice():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Використовуючи substring():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

В обох функція перший параметр - символ, з якого починається підрядок (починаючи з 0 позиції) і другий аргумент (необов'язковий) - позиція символу, до якого повертається підрядок. У прикладі (5, 10) повертається рядок між позицією 5 та 9.

Використовуючи substr():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Перший аргумент – позиція символу, з якого починається новий рядок і другий аргумент – кількість символів від початкової позиції нового рядка. Тобто. (5, 10) повертає 10 символів, починаючи з 5-ї позиції.

Переведення рядка у верхній або нижній регістр.

Є 4 методи перекладу. Перші 2 переводять рядок у верхній регістр:

Var stringOne = "Speak up, I can"t hear you."; var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP, I CAN"T HEAR YOU"

Інші 2 переводять рядок у нижній регістр:

Var stringOne = "YOU DON"T HAVE TO YELL"; var stringTwo = stringOne.toLocaleLowerCase(); // "you don"t have to yell"

Найкраще використовувати «locale» методи, т.к. у різних місцях, наприклад, у Туреччині відображення регістрів працює не зовсім так, як ми звикли, і тому результат може бути той, який ми хотіли. Якщо використовувати «locale» методи, таких проблем не буде.

Pattern Matching

Відповідність шаблону в рядку може бути використана за допомогою 2-х методів, які працюють по-різному.

Метод match()застосовується до рядка і він приймає як параметр регулярний вираз:

Var myString = "How much wood could a wood chuck chuck"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "How much wood could a wood chuck chuck"

Метод exec()застосовується до об'єкта регулярного виразу і приймає як параметр рядок:

Var myString = "How much wood could a wood chuck chuck"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "How much wood could a wood chuck chuck"

В обох методах повертається лише перший збіг. Якщо збігів не було - повертається null.

Також можна використовувати метод search(), який приймає регулярне вираження та повертає позицію першого збігу за шаблоном:

Var myString = "Assume"; var patternLocation = myString.search(/ume/); // 3

Якщо збігів не було — повертається -1 «.

Порівняння двох рядків для сортування

Ви можете порівняти 2 рядки, щоб визначити, який з них йде перший за алфавітом. Для цього скористаємося методом localeCompare(), який повертає 3 можливі значення:

Var myString = "chicken"; var myStringTwo = "egg"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome returns -2) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome returns 2)

Як було показано вище, від'ємне число повертається, якщо рядковий аргумент іде після вихідного рядка. Додатне числоякщо рядковий аргумент йде раніше вихідного рядка. Якщо повернувся 0 - Значить рядки рівні.

Для перевірки значення, що повертається, краще використовувати if (result< 0), чем if (result === -1). Последнее не будет работать в Chrome.

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

Автор статті: Alex. Категорія:
Дата публікації: 19.03.2013

Вітаю всіх, хто ґрунтовно вирішив вивчити прототипно-орієнтовану мову. Минулого я розповів вам про , а сьогодні ми розбиратимемо рядки JavaScript-а. Так як у цій мові всі текстові елементи є рядками (немає окремого формату для символів), ви можете самі здогадатися, що цей розділ займає значну частину у вивченні синтаксису js.

Саме тому в цій публікації я розповім вам, як створюються малі елементи, які методи та властивості для них передбачені, як правильно конвертувати рядки, наприклад, перетворювати на число, яким чином можна отримати потрібне підрядження та багато іншого. На додаток до цього я прикріплю приклади програмного коду. А тепер уперед за справу!

Синтаксис малих змінних

У мові js всі змінні оголошуються за допомогою ключового слова var, а в залежності від формату оформлення параметрів визначається тип оголошеної змінної. Як ви пам'ятаєте з JavaScript, в JavaScript-і відсутня сувора типізація. Саме тому в коді і ось така ситуація.

При ініціалізації змінних значенняможуть бути обрамлені в подвійні, одинарні, а починаючи з 2015 року та в скошені одинарні лапки. Нижче наведено приклади кожного способу оголошення рядків.

Хочу приділити особливу увагу третій спосіб. Він має низку переваг.

З його допомогою можна спокійно здійснювати перенесення рядка і це буде виглядати так:

alert (`кілька

переношу

А ще третій спосіб дозволяє використовувати конструкцію $(…). Такий інструмент потрібний для вставки інтерполяції. Не лякайтеся, зараз розповім, що це таке.

Завдяки $(…) у рядки можна вставляти не тільки значення змінних, а ще й виконувати з ними арифметичні та логічні операції, Викликати методи, функції і т.д. Усе це називається одним терміном – інтерполяція. Ознайомтеся із прикладом реалізації цього підходу.

1 2 3 var pen = 3; var pencil = 1; alert(`$(pen) + $(pencil*5) = $(pen + pencil)`);

var pen = 3; var pencil = 1; alert(`$(pen) + $(pencil*5) = $(pen + pencil)`);

У результаті екран виведеться вираз: «3 + 1*5 = 8».

Що стосується перших двох способів оголошення рядків, то в них різниці немає.

Поговоримо трохи про спеціальні символи

У багатьох мовах програмування є спеціальні символи, які допомагають керувати текстом у рядках. Найвідоміший серед них – це перенесення рядка (\n).

Всі аналогічні інструменти спочатку починаються зі зворотного слєша (\) і після йдуть букви англійського алфавіту.

Нижче я прикріпив невелику табличку, де перелічені деякі спеціальні символи.

Запасаємось важким арсеналом методів та властивостей

Розробниками мови було передбачено безліч методів та властивостей для спрощення та оптимізації роботи з рядками. А з випуском нового стандарту під назвою ES-2015 минулого року, цей список поповнився новими інструментами.

Length

Почну з найпопулярнішої властивості, яка допомагає дізнатися довжину значень малих змінних. Це length. Він використовується таким чином:

var string = "Єдинороги";

alert (string.length);

У відповіді буде виведено число 9. Також цю властивість можна застосовувати і до самих значень:

"Єдинороги". length;

Результат не зміниться.

charAt()

Цей метод дозволяє витягти певний символ із тексту. Нагадую, що нумерація починається з нуля, тому щоб витягнути перший символ з рядка, необхідно прописати такі команди:

var string = "Єдинороги";

alert(string.charAt(0));.

Однак отриманий результат не буде символьного типу, він все ще вважатиметься рядком, що складається з однієї літери.

Від toLowerCase() до toUpperCase()

Ці методи керують регістром символів. Під час написання коду «Контент».

доUpperCase()все слово буде відображено великими літерами.

Для протилежного ефекту варто використовувати Контент. доLowerCase ().

indexOf()

Затребуваний і необхідний засіб для пошуку підрядка. Як аргумент потрібно вписати слово або фразу, яку необхідно знайти, а метод повертає позицію знайденого елемента. Якщо ж не знайдений текст, користувачеві повернеться «-1».

1 2 3 4 var text = "Організувати пошук кольорів!"; alert(text.indexOf("колір")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

var text = "Організувати пошук кольорів!"; alert(text.indexOf("колір")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

Зауважте, що lastIndexOf() виконує ті ж дії, тільки пошук здійснюється з кінця пропозиції.

Вилучення підрядків

Для цього дії в js було створено три приблизно однакові методи.

Розберемо спочатку substring (start, end)і slice (start, end). Працюють однаково. Перший аргумент визначає початкову позицію, з якої почнеться вилучення, а другий відповідає за кінцевий пункт зупинки. В обох методах рядок виймається, не включаючи символ, розташований на позиції end.

var text = "Атмосфера"; alert(text.substring(4)); // виведе "сфера" alert(text.substring(2, 5)); // Відобразить "мос" alert (text.slice (2, 5)); //Відобразить «мос»

А тепер розберемо третій метод, який називається substr(). У ньому також потрібно прописувати 2 аргументи: startі length.

Перший вказує початкову позицію, а другий – кількість символів, які потрібно одержати. Щоб відстежити різницю між цими трьома інструментами, я скористався з минулого прикладу.

var text = "Атмосфера";

alert (text.substr (2, 5)); //Відобразить «мосфі»

Використовуючи ці засоби взяття підрядків, можна видалити непотрібні символи з нових малих елементів, з якими далі працює програма.

Replase ()

Даний метод допомагає замінити символи та підрядки у тексті. З його допомогою можна також реалізовувати і глобальні заміни, але для цього необхідно включати регулярні вирази.

У цьому прикладі заміниться підрядок лише у першому слові.

var text = "Атмосфера Атмосфера"; var newText = text.replace("Атмо","Страто") alert(newText) // Результат: Стратосфера Атмостфера

А в цій програмної реалізаціїчерез прапор регулярного вираження “g” буде виконано глобальну заміну.

var text = "Атмосфера Атмосфера"; var newText = text.replace(/Атмо/g,"Страто") alert(newText) // Результат: Стратосфера Стратосфера

Займемося конвертацією

У JavaScript передбачено лише три види перетворення типів об'єктів:

  1. Числове;
  2. Строкове;
  3. Логічне.

У поточній публікації я розповім про 2 з них, оскільки знання про них потрібні для роботи з рядками.

Числове перетворення

Щоб значення елемента явно перетворити до числового вигляду, можна використовувати Номер (value).

Є й коротший вираз: +«999».

var a = Number («999»);

Рядкова конвертація

Виконується функцією alert, а також явним викликом String (text).

Всім привіт і з новим роком. Поїхали! Почнемо ми з розгляду властивості length, яка дозволяє нам порахувати кількість символів у рядку:

Var str = "методи та властивості для роботи з рядками в JavaScript"; console.log(str.length);

як бачите в консолі виведено результат, кількість символів рядка(54).

Var str = "методи та властивості для роботи з рядками в JavaScript"; console.log(str.charAt(7));

за допомогою методу charAt() ми можемо за заданою позицією отримати символ рядка, у нашому випадку нам повертається символ "і" на 7 позиції. Зазначу, що звіт позицій рядка починається з нуля. Наприклад, якщо ми хочемо отримати перший символ рядка:

Var str = "методи та властивості для роботи з рядками в JavaScript"; str.charAt(0);

тут нам повернеться "м". Ще є схожий метод charCodeAt() ВІН ПРАЦЮЄ ТОЧНО ТАКОЖ ЯК І charAt(), але повертає вже не сам символ, а його код.

Var str = "методи та властивості для роботи з рядками в JavaScript"; console.log(str.charCodeAt(0));

Нам повернеться код символу м (1084).

Метод charAt() корисний для вилучення одиночного символу з рядка, якщо ми хочемо отримати набір символів (підрядок), то для цих цілей підійдуть наступні методи:

Var str = "методи та властивості для роботи з рядками в JavaScript"; console.log(str.slice(8,17));

метод slice() повертає підрядок("властивості"), як аргументи приймає два числових значення, початковий і кінцевий індекс підрядка. Інший схожий метод substr():

Var str = "методи та властивості для роботи з рядками в JavaScript"; console.log(str.substr(8,17));

тут нам вже повернеться підрядок ("властивості для раб"), першим аргументом є початкова позиція, а другим кількість символів у підрядку. Далі ми розглянемо методи роботи з регістром у рядках.

Var str = "методи та властивості для роботи з рядками в JavaScript"; console.log(str.toUpperCase());

метод toUpperCase() повертає нам рядок де всі символи в верхньому регістрітобто великими літерами.

Var str = "MBA"; console.log(str.toLowerCase());

метод toLowerCase() повертає нам рядок, де всі символи в нижньому регістрі, маленькі літери.

Для пошуку підрядки у рядку ми можемо скористатися методом indexOf():

Var str = "методи та властивості для роботи з рядками в JavaScript"; document.write(str.indexOf("роботи"));

даний методприймає як аргумент підрядок яку ми хочемо знайти в рядку і якщо він його знаходить, то повертається позиція з якою було знайдено збіг. Якщо даного підрядка не міститься в рядку, то:

Var str = "методи та властивості для роботи з рядками в JavaScript"; document.write(str.indexOf("робота"));

нам повернеться значення –1. Приклад:

Var str = "методи та властивості для роботи з рядками в JavaScript", sub = "робота"; function indexOf(str, substr) ( if (str.indexOf(substr) === -1) ( return "Цей підрядок ""+substr+"" не міститься в рядку ""+str+""); ) else( index = str.indexOf(substr) return "Підстрока ""substr+"" знайдена в позиції "+index; ) ) document.write(indexOf(str,sub));

тут ми записали невелику функцію indexOf(str,sub) яка як аргументи приймає рядок(str) і підрядок(sub) і за допомогою методу indexOf() перевіряє наявність підрядка у рядку та повертає повідомлення про результат. Зазначу, що метод indexOf() повертає позицію підрядка щодо початку рядка, тобто від нульового індексу.

Якщо ми захочемо знайти позицію підрядка щодо кінця, тоді можна скористатися функцією lastIndexOf().

Метод trim() дозволяє прибрати прогалини з початку і кінця рядка, припустимо, у нас є такий рядок:

Var str = "методи та властивості для роботи з рядками в JavaScript"; console.log(str);

і ми хочемо прибрати прогалини на початку та наприкінці:

Console.log(str.trim());

після того, як ми скористаємося методом trim() пробіли з кінця і початку рядка будуть успішно видалені.

Ну от у принципі і все що я вам хотів розповісти про роботу з рядками JavaScript, звичайно ж є ще методи конкатенації та порівняння рядків, але ми їх розглядати не будемо, оскільки ці методи легко замінюються стандартними операторами.

Я вітаю вас з наступаючим новим роком, бажаю щастя, здоров'я, успіхів, кохання та звичайно ж удачі! Бувай!



Розповісти друзям