Работа со строками: методы indexOf, substring, slice, split, trim и др.

Основы работы со строками в JavaScript

В JavaScript строки — это последовательности символов, с которыми можно выполнять множество операций. Рассмотрим ключевые методы, которые превратят вашу работу со строками из рутины в удовольствие! 🎻


🔍 Поиск в строках: indexOf() и includes()

Метод indexOf() возвращает индекс первого вхождения подстроки или -1, если ничего не найдено:

const phrase = "Hello, world!";
console.log(phrase.indexOf("world"));  // 7
console.log(phrase.indexOf("Mars"));   // -1 (не найдено)

А includes() просто говорит, есть ли подстрока (true/false):

console.log(phrase.includes("world"));  // true

💡 Совет: Для чувствительного к регистру поиска используйте toLowerCase() перед сравнением!


✂️ Извлечение подстрок: slice(), substring(), substr()

Эти методы похожи, но есть нюансы:

Метод Параметры Особенности
slice(start, end) Отрицательные значения разрешены Не меняет исходную строку
substring(start, end) Игнорирует отрицательные значения Меняет местами start и end, если start > end
substr(start, length) Устаревший метод Второй параметр — длина подстроки

Пример работы slice():

const text = "JavaScript";
console.log(text.slice(0, 4));    // "Java"
console.log(text.slice(-6));      // "Script" (отрицательный индекс)

🧩 Разделение строк: split()

Превращает строку в массив по разделителю:

const names = "Anna,Peter,John";
const namesArray = names.split(",");
console.log(namesArray);  // ["Anna", "Peter", "John"]

Можно ограничить количество элементов:

"a-b-c-d".split("-", 2);  // ["a", "b"] (только первые 2 элемента)

✨ Очистка строк: trim(), trimStart(), trimEnd()

Удаляют пробелы с краёв строки:

const messyString = "   Hello!   ";
console.log(messyString.trim());      // "Hello!"
console.log(messyString.trimStart()); // "Hello!   "
console.log(messyString.trimEnd());   // "   Hello!"

🛠️ Полезно при обработке пользовательского ввода в формах!


🔗 Склеивание строк: concat() и шаблонные строки

Хотя + работает, есть альтернативы:

const part1 = "Hello";
const part2 = "World";
console.log(part1.concat(" ", part2));  // "Hello World"

// Шаблонные строки (ES6) — золотой стандарт:
console.log(`${part1} ${part2}!`);     // "Hello World!"

🎯 Практический пример: Парсинг URL

Применим знания в реальной задаче:

function parseURL(url) {
  const [protocol, rest] = url.split("://");
  const [domain, ...pathParts] = rest.split("/");
  return {
    protocol,
    domain,
    path: pathParts.join("/")
  };
}

console.log(parseURL("https://example.com/blog/post"));
// { protocol: "https", domain: "example.com", path: "blog/post" }

🔥 Продвинутые трюки

1. Замена подстрок (до replace()):

const str = "I love apples";
const newStr = str.split("apples").join("oranges");
console.log(newStr);  // "I love oranges"

2. Проверка пустой строки:

const input = "   ";
console.log(input.trim() === "");  // true (только пробелы)

3. Обратный порядок символов:

"hello".split("").reverse().join("");  // "olleh"

Теперь вы вооружены мощными инструментами для работы со строками! Применяйте их в своих проектах и экспериментируйте — это лучший способ закрепить знания. 💪

Данила Бежин однажды сказал: "Строки — это как воздух программирования: их не видно, но без них никуда". Смотрите его разборы на YouTube для углублённого изучения!

Скрыть рекламу навсегда

📘 VK Видео — обучение без ограничений

Все уроки доступны без VPN, без блокировок и зависаний.

Можно смотреть с телефона, планшета или компьютера — в любое время.

▶️ Смотреть на VK Видео