Вы находитесь на странице: 1из 10

Методы работы со строковыми литералами в JavaScript

JavaScript автоматически преобразует строковые примитивы в объекты String, так что на строковых
примитивах возможно использовать методы глобального объекта String, который является
конструктором строк (или последовательностей символов) и имеет свойство и методы.

Конкатенация строк в JavaScript (метод concat)


Конкатенация (объединение) строк в JS возможно двумя способами:
1.с использованием оператора "+";
2.с использованием метода concat.
Примеры:
// Инициализация констант
const firstName = "Alex";
const lastName = "NAV";
const age = 30;
let value;
/************************/
value = firstName + " " + lastName; // Alex NAV (конкатенация бинарным "+")
value += " My age " + age; // Alex NAV My age 30 (конкатенация бинарным "+")
value = lastName.concat(" ", firstName); // NAV Alex (конкатенация методом concat)

СКАЧАНО С WWW.MEGASLIV.BIZ - ПРИСОЕДИНЯЙСЯ!


Методы строк в JavaScript

Методы объекта String в JavaScript:

1. Получение символа строки (метод charAt() )


2. Изменение регистра символов строки (методы toLowerCase() и toUpperCase() )
3. Разбивка стрoки на масcив строк ( метoд split() )
4. Поиск позиции подстроки (методы indexOf(), lastIndexOf()
5. Проверка наличия подстроки в строке (методы includes(), startsWith(), endsWith() )
6. Получение подстроки (методы substring(), substr() и slice() )
7. Сравнение строк (метод localeCompare() )
8. Удаление пробелов в строке (методы trim(), trimRight(), trimLeft() )
9. Повтор строки (метод repeat() )
10. Замена части строки (метод replace() – отдельная лекция)

Остальные методы см. Стандартные встроенные объекты. String

ВАЖНО!
Строки неизменяемы.
Содержимое строки в JavaScript нельзя изменить, т.е. нельзя взять символ посередине
строки и заменить его.
Её можно изменить лишь перезаписав в ту же переменную.
Методы строк в JavaScript

Получение символа строки. Метод charAt()


Получить символ строки на нужной позиции pos, можно:
1. с помощью квадратных скобок: str[pos];
2. методом charAt(pos) (устаревший способ).

Получение символа на определенной позиции с помощью квадратных скобок str[pos]:

const firstName = "Alex";


let value;

value = firstName[5]; // undefined (т.к. длина имени 4 символа)


value = firstName[3]; // x (4-й символ, т.к. нумерация с 0)

// Получение последнего символа в строке (нумерация с 0!)


value = firstName[firstName.length - 1]; // x (последний символ строки)

Получение символа на определенной позиции методом charAt(pos) :

value = firstName.charAt(0); // А (первый символ)


value = firstName.charAt(2); // е (третий символ)

Отличие [pos] от charAt(pos):


если символ на позиции pos отсутствует, тогда:
• [pos] вернёт undefined;
• charAt(pos) вернёт пустую строку “”.
Методы строк в JavaScript

Изменение регистра символов строки (методы toLowerCase() и toUpperCase() )


Методы toLowerCase() и toUpperCase() меняют регистр символов:

const firstName = "Alex";


let value;
value = firstName.toUpperCase(); // ALEX (все символы строки)
value = firstName[3].toUpperCase(); // X (4-й символ, т.к. нумерация с 0)
value = firstName[0].toLowerCase() + firstName[firstName.length-1].toLowerCase() // ax

Разбивка стрoки на масcив строк ( метoд split() )


Метод split() разбивает объект String на массив строк путём разделения строки указанной подстрокой.
str.split([separator[, limit]]):
• separator (необязательный) - указывает символы, используемые в качестве разделителя внутри строки.
Параметр separator может быть как строкой, так и регулярным выражением:
1. если разделитель separator найден, он удаляется из строки, а подстроки возвращаются в массиве;
2. если параметр отсутствует, возвращённый массив будет содержать один элемент со всей строкой;
3. если параметр равен пустой строке, строка будет преобразована в массив символов.
• limit (необязательный) - целое число, определяющее ограничение на количество найденных подстрок.
Возвращаемый массив обрезается так, чтобы он содержал не более limit элементов.

let names = "Alex, Olga, Serg, Mary";


let arrNames = names.split(","); // Array(4) [ "Alex", "Olga", "Serg", "Mary" ]
let arrName = "Alex, Olga, Serg, Mary".split(", ", 2); // Array [ "Alex", "Olga" ]

Если строка является пустой строкой, метод split() вернёт массив, состоящий из одной пустой строки, а не
пустой массив.
Методы строк в JavaScript

Поиск позиции подстроки (методы indexOf(), lastIndexOf() )

Существует несколько способов поиска подстроки:

1. метод indexOf(substr[, pos]) - ищет подстроку substr в строке str, начиная с позиции pos (необязательный
аргумент), и возвращает:
• позицию, на которой располагается совпадение, либо
• -1 (при отсутствии совпадений);
2. метод lastIndexOf(substr[, pos]) - ищет подстроку с конца строки к её началу (справа налево, а номер
позиции отсчитывается слева направо) и используется тогда, когда нужно получить самое последнее
вхождение: перед концом строки или начинающееся до (включительно) определённой позиции;
3. с использованием побитового оператора НЕ — ~ (не рассматривается).

Пример:
const str = `Hello, my name Alex, my age 30`;
let value;
value = str.indexOf("name"); // 10 (возвращает номер позиции первого вхождения подстроки в строку str)

value = str.indexOf("A", 10); // 15 (возвращает номер позиции первого вхождения подстроки в строку str,
начиная с указанной позиции))

value = str.lastIndexOf("A", 20); // 15 (возвращает номер позиции первого вхождения подстроки


в строку str, начиная с указанной позиции ; поиск справа налево)
Методы строк в JavaScript

Проверка наличия подстроки в строке (методы includes(), startsWith(), endsWith() )

Метод includes(substr[, pos]) используется при проверке строки на совпадение (позиция при этом не
определяется) и возвращает:
• true, если в строке str есть подстрока substr, либо
• false, если в строке str подстроки substr нет.
Необязательный второй аргумент pos позволяет начать поиск с определённой позиции.

Пример:
const str = `Hello, my name Alex, my age 30`;
let value;

value = str.includes("name"); // true


value = str.includes("you"); // false

Методы startsWith() и endsWith() проверяют, соответственно, начинается ли и заканчивается ли строка


определённой подстрокой, например (для переменных выше):
value = str.startsWith("you"); // false
value = str.startsWith("Hello"); // true
value = str.endsWith("you"); // false
value = str.endsWith("30"); // true

https://flagman.top/
Методы строк в JavaScript

Получение подстроки в JavaScript (методы substring(), substr() и slice() )

В JavaScript есть 3 метода для получения подстроки:


1. slice(start [, end]) – получает и возвращает часть строки от start до (не включая) end (поддерживает
отрицательные значения аргументов);
2. substring(start [, end]) - возвращает часть строки между start и end (можно задавать start больше end,
отрицательные значения аргументов не поддерживает);
3. substr(start [, length]) (устаревший) - возвращает часть строки от start длины length (позволяет указать
длину подстроки вместо конечной позиции).

Метод slice():
1. получает текст из строки и возвращает новую строку;
2. изменения текста в строке не влияют на возвращенную строку;
3. если аргумент end не указан, то метод вернет часть строки от start до конца строки.

Примеры:
const str = `Hello, my name Alex, my age 30`;
let value;
value=str.slice(10,15) // name (получает и возвращает строку с 10 по (не включая) 15 символ)
value=str.slice(-10,-5) // my a (поддерживает отрицательные значения, начинаем с 10-й позиции справа)
value=str.slice(15) // Alex, my age 30 (возвращает строку с 15 позиции до конца строки)
value=str.substring(0,7) // Hello,
value=str.substring(10,7) // my
Методы строк в JavaScript

Сравнение строк (метод localeCompare() )

Вызов метода str1.localeCompare(str2[, locales[, options]]) возвращает число, которое показывает, какая
строка больше в соответствии с правилами языкового стандарта:
1. отрицательное число, если str1 расположена в порядке сортировки до str2 ;
2. положительное число, если str1 расположена в порядке сортировки после str2 ;
3. 0, если строки равны.

Подробнее о параметрах locales и options в статье String.prototype.localeCompare()

Примеры:
value = "a".localeCompare("A", "en", { caseFirst: "lower" }); // -1
str = 'Alex'.localeCompare('NAV'); // -1
str = 'Alex'.localeCompare('Alex'); // 0
str = 'Alex'.localeCompare('Alexa'); // -1

Замечание:
При сравнении большого количества строк, например, при сортировке больших массивов, лучшим
вариантом будет создание объекта Intl.Collator и использование функции, предоставляемой его
свойством compare.
Методы строк в JavaScript

Удаление пробелов в строке (методы trim(), trimRight(), trimLeft() )

Метод trim() удаляет пробельные символы с начала и конца строки.


Пробельными символами в этом контексте считаются:
• все собственно пробельные символы (пробел, табуляция, неразрывный пробел и прочие) и
• все символы конца строки (LF, CR и прочие).

Примеры:
const str = ` Hello, my name Alex `;
let value;
value = str.trim(); // "Hello, my name Alex"
value = str.trimRight(); // " Hello, my name Alex"

Повтор строки (метод repeat() )

Метод repeat(n) конструирует и возвращает новую строку, содержащую указанное количество (n)
соединённых вместе копий строки, на которой он был вызван.
Число повторений строки во вновь создаваемой и возвращаемой строке (n) должно являться целым числом
от 0 до +∞.

Примеры:
const str = `Hello`;
let value;
value = str.repeat(2); // "HelloHello"
value = str.repeat(0); // ""
value = str.repeat(-1); // RangeError: Invalid count value at String.repeat
Методы строк в JavaScript

Дополнительные материалы:
1. Строки в JavaScript
2. Стандартные встроенные объекты (String)
3. String.prototype.localeCompare()
4. Intl: интернационализация в JavaScript
5. Объект Intl.Collator

https://flagman.top/

Оценить