ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Извлечение подстроки после дефиса в JavaScript: метод substring

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

JS
Скопировать код
let afterDash = "some-text-here".split('-').pop();
// "here"

Для быстрого разделения строки по тире и получения последнего фрагмента воспользуйтесь комбинацией методов split('-') и pop().

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Глубже в методы

Усвоение различных способов извлечения сегментов строки в JavaScript — это искусство. Рассмотрим некоторые из этих методов более подробно:

Метод split: прецизионное разделение строки

Метод split позволяет «расчленить» строку на массив подстрок с использованием указанного разделителя.

JS
Скопировать код
let text = "this-is-coding";
let parts = text.split('-');
let afterDash = parts[1]; // "is", как найденное светлое пятно в море кода.

Метод substring: навигация по миру строк

Методы substring и indexOf идеально подходят для точного среза строк. indexOf помогает найти позицию тире.

JS
Скопировать код
let text = "string-pirates";
let dashPosition = text.indexOf('-') + 1; // Прибавляем 1, чтобы пройти за «пиратской доской» – тире!
let afterDash = text.substring(dashPosition); // "pirates", за сокровищами, товарищи!

Метод replace с регулярными выражениями: ловкость и изворотливость

Регулярные выражения могут «похитить» содержимое до тире с помощью replace – настоящего фокусника среди методов!

JS
Скопировать код
let text = "byte-heist-planned";
let afterDash = text.replace(/.*?-/, ''); // Ищем до первого тире и заменяем на пустую строку, словно искусный вор.

Эти методы поддерживаются практически всеми браузерами, что делает их героями кросс-браузерной разработки.

Работаем с особыми случаями

Строки переменной длины могут стать проблемными. Рассмотрим, как справиться с некоторыми особенностями:

Разбор многочисленных тире и магия индексов

Если вам приходится работать с множеством тире, используйте индексы – они укажут дорогу к решению.

JS
Скопировать код
let parts = "parts-are-everywhere".split('-');
let afterDash = parts[2]; // "everywhere", словно в поисках потерявшихся носков.

Метод substring: в поисках последнего элемента

Если вам нужно содержимое после последнего тире, комбинация lastIndexOf и substring будет вашим надежным инструментом.

JS
Скопировать код
let text = "alpha-beta-gamma-omega";
let lastIndex = text.lastIndexOf('-');
let afterDash = text.substring(lastIndex + 1); // "omega", вот оно, финальное звено!

Регулярные выражения: искусство маскировки

Регулярные выражения могут разрешить более сложные задачи, в том числе с задействованием сложных паттернов извлечения.

JS
Скопировать код
let text = "unpredictable-string-chain";
let afterDash = text.replace(/.*?-/, ''); // "string-chain", кто бы мог подумать?

Эти методы – настоящий арсенал для работы со строками без избыточной обработки данных.

Визуализация

Представим строку как карту сокровищ:

Markdown
Скопировать код
Строка: "X отмечает место-СОКРОВИЩЕ"

Ключ (🔑) – это тире, которое открывает сундук с сокровищами:

Markdown
Скопировать код
До открытия: [🗺️🏴‍☠️-🔒]
После открытия:   [🔓-💎👑💰]

Используйте slice с позиции тире, чтобы добыть сокровища:

JS
Скопировать код
let str = "X отмечает место-СОКРОВИЩЕ";
let treasure = str.slice(str.indexOf('-') + 1);

Вот "СОКРОВИЩЕ" найдено!

Пишем более эффективный код

Функция из sterling silver

Создание многоразовой функции для извлечения текста после тире – это способ повышения производительности и чистоты вашего кода.

JS
Скопировать код
function getTextAfterDash(str) {
    return str.split('-').pop(); // Как попкорн в кинотеатре, выбираем и наслаждаемся!
}

Избегаем регулярных выражений для простых задач

Регулярные выражения – мощный инструмент, но для простых задач лучше использовать более понятные и простые split и substring.

JS
Скопировать код
// Проще использовать split и pop, чем регулярные выражения для базовых задач:
let afterDash = "split-split-pop!".split('-').pop(); // "pop!", и воздушный шарик взлетел.

Прямое извлечение информации

Методы split и substring исключают необходимость дополнительной обработки строк, делая наш код более производительным.

Полезные материалы

  1. String.prototype.split() – JavaScript | MDN – глубже изучите тему с помощью надежного источника.
  2. JavaScript String split() Method – учитесь на простых и понятных примерах с интерактивными иллюстрациями.
  3. Строки – получите всесторонние знания о работе со строками в JavaScript.
  4. Учите JavaScript | Codecademy – практикуйтесь в программировании на интерактивных курсах.
  5. Структуры данных: Объекты и Массивы :: Элегантный JavaScript – подробно разберитесь с особенностями структур данных, необходимых для работы со строками.