Функция обрезания строки после нужного символа (отрежет хвост)
Функция принимает две строки:
- Первая — это основная строка которую нужно обрезать.
- Вторая — это строка-ориентир после которой нужно отрезать лишнее.
Возвращает начальную часть и строку-ориентир. Обрезается только хвост.
// Функция удаляет хвост. Искомый символ остаётся
function cutMyStrMin(str, char){
return str.replace(new RegExp(`(.*?${char}).*`), ‘$1’)
}
cutMyStrMin(‘Моя вол/шебная строка‘, ‘/’)
‘Моя вол/’
cutMyStrMin(‘Моя волшебная строка‘, ‘шеб‘)
‘Моя волшеб‘
cutMyStrMin(‘Моя волшебная строка‘, ‘ ‘)
‘Моя ‘
Скриншот работы функции из браузера:
Функция с удалением оставшейся части строки и искомого символа
Функция принимает две строки:
- Первая — это основная строка которую нужно обрезать.
- Вторая — это строка-ориентир вместе с которой нужно отрезать лишнее.
Возвращает только начальную часть БЕЗ строки-ориентира и БЕЗ хвоста.
function cutMyStrMax(str, char){
return str.replace(new RegExp(`${char}.*`), »)
}
cutMyStrMax(‘Где-то ку/шал гуакамоли’, ‘/’)
‘Где-то ку’
cutMyStrMax(‘Где-то кушал гуакамоли’, ‘уша’)
‘Где-то к’
cutMyStrMax(‘Где-то кушал гуакамоли’, ‘ ‘)
‘Где-то’
Скриншот работы функции из браузера:
Собственный метод для класса 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 | Как обрезать строку до символа?
Стандарт 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