Тема: Решение задач по обработке строк.
Для создания строк мы можем напрямую присваивать переменной строку:
let name = "Tom";
В результате переменная будет ссылаться на объект String (что такое объекты мы рассмотрим позднее). Этот объект имеет большой набор свойств и методов, с помощью которых мы можем манипулировать строками.
Свойство length указывает на длину строки:
let hello = "привет мир";
alert(hello.length); //10
Метод repeat() позволяет создать строку путем многократного повторения другой строки. Количество повторов передается в качестве аргумента:
let hello = "hello ";
alert(hello.repeat(3)); // hello hello hello
Шаблоны строк позволяют вставлять в строку различные значения. Для этого строки заключаются в косые кавычки:
let name = "Tom";
let hello = `Hello ${name}`;
alert(hello); // Hello Tom
let age = 23;
let info = `${name} is ${age} years old`;
alert(info); // Tom is 23 years old
Для вставки значения в строку оно заключается в фигурные скобки, перед которыми ставится знак доллара.
Поиск в строке
Для поиска в строки некоторой подстроки используются методы indexOf() (индекс первого вхождения подстроки) и lastIndexOf() (индекс последнего вхождения подстроки). Эти методы принимают два параметра:
· Подстроку, которую надо найти
· Необязательный параметр, который указывает, с какого символа следует проводить поиск подстроки в строке
Оба этих метода возвращают индекс символа, с которого в строке начинается подстрока. Если подстрока не найдена, то возвращается число -1.
let hello = "привет мир. пока мир";
let key = "мир";
let firstPos = hello.indexOf(key);
let lastPos = hello.lastIndexOf(key);
alert("Первое вхождение: ", firstPos); // 7
alert("Последнее вхождение: ", lastPos); // 17
Еще один метод - includes() возвращает true, если строка содержит определенную подстроку.
let hello = "привет мир. пока мир";
alert(hello.includes("мир")); // true
alert(hello.includes("миг")); // false
С помощью второго дополнительного параметра можно определить индекс, с которого будет начинаться поиск подстроки:
let hello = "привет мир. пока мир";
alert(hello.includes("мир", 5)); // true
alert(hello.includes("привет", 6)); // false
Выбор подстроки
Для того, чтобы вырезать из строки подстроку, применяются методы substr() и substring().
Метод substring() принимает два параметра:
· индекс символа в строке, начиная с которого надо проводить обрезку строки
· индекс, до которого надо обрезать строку
let hello = "привет мир. пока мир";
let world = hello.substring(7, 10); // с 7-го по 10-й индекс
alert(world); // мир
Метод substr() также в качестве первого параметра принимает начальный индекс подстроки, а в качестве второго - длину вырезаемой подстроки:
let hello = "привет мир. пока мир";
let bye = hello.substr(12, 4);
alert(bye); // пока
Если второй параметр не указывается, то обрезается вся остальная часть строки:
let hello = "привет мир. пока мир";
let bye = hello.substr(12);
alert(bye); // пока мир
Управление регистром
Для изменения регистра имеются методы toLowerCase() (для перевода в нижний регистр) и toUpperCase() (для перевода в верхний регистр).
let hello = "Привет Том";
alert(hello.toLowerCase()); // привет том
alert(hello.toUpperCase()); // ПРИВЕТ ТОМ