Тема: Решение задач по обработке строк.

Для создания строк мы можем напрямую присваивать переменной строку:

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()); // ПРИВЕТ ТОМ