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

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 | Как обрезать строку до символа?

Стандарт ECMAScripthttps://tc39.es/ecma262/multipage/

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