JavaScript | Как обрезать строку после символа? — efim360.ru

JavaScript | Как обрезать строку после символа?

 

Функция обрезания строки после нужного символа (отрежет хвост)

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

  • Первая - это основная строка которую нужно обрезать.
  • Вторая - это строка-ориентир после которой нужно отрезать лишнее.

Возвращает начальную часть и строку-ориентир. Обрезается только хвост.

 

// Функция удаляет хвост. Искомый символ остаётся

function cutMyStrMin(str, char){

    return str.replace(new RegExp(`(.*?${char}).*`), '$1')

}

 

cutMyStrMin('Моя вол/шебная строка', '/')

'Моя вол/'

cutMyStrMin('Моя волшебная строка', 'шеб')

'Моя волшеб'

cutMyStrMin('Моя волшебная строка', ' ')

'Моя '

 

 

Скриншот работы функции из браузера:

Функция обрезания строки после нужного символа - отрезает только хвост JavaScript
Функция обрезания строки после нужного символа - отрезает только хвост JavaScript

 

Функция с удалением оставшейся части строки и искомого символа

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

  • Первая - это основная строка которую нужно обрезать.
  • Вторая - это строка-ориентир вместе с которой нужно отрезать лишнее.

Возвращает только начальную часть БЕЗ строки-ориентира и БЕЗ хвоста.

function cutMyStrMax(str, char){

    return str.replace(new RegExp(`${char}.*`), '')

}

 

cutMyStrMax('Где-то ку/шал гуакамоли', '/')

'Где-то ку'

cutMyStrMax('Где-то кушал гуакамоли', 'уша')

'Где-то к'

cutMyStrMax('Где-то кушал гуакамоли', ' ')

'Где-то'

 

 

Скриншот работы функции из браузера:

Функция обрезания строки после нужного символа - отрезает хвост и искомый символ JavaScript
Функция обрезания строки после нужного символа - отрезает хвост и искомый символ JavaScript

 

Собственный метод для класса String

Можно расширить стандартный набор методов класса String в JavaScript и вызывать его непосредственно на самом объекте строки.

// Методы для класса String

String.prototype.cutMyStrMin = function(char){

return this.replace(new RegExp(`(.*?${char}).*`), '$1')

};

String.prototype.cutMyStrMax = function(char){

return this.replace(new RegExp(`${char}.*`), '')

}

 

Пример работы методов:

Два метода обрезания строки после нужного символа - JavaScript
Два метода обрезания строки после нужного символа - JavaScript

 

 

Информационные ссылки

JavaScript | Как обрезать строку до символа?

Стандарт ECMAScript - https://tc39.es/ecma262/multipage/

Стандарт ECMAScript - Раздел "22.2 RegExp (Regular Expression) Objects" - https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects