TrimRight: примеры (JAVASCRIPT)
trimRight: stringФункция trimRight в JavaScript
Метод trimRight() (также известный как trimEnd()) принадлежит объекту String и предназначен для удаления пробельных символов с правого края (конца) строки. Он возвращает новую строку, не изменяя исходную. Пробельными символами считаются: обычный пробел, табуляция (\t), перевод строки (\n), возврат каретки (\r), неразрывный пробел (\u00A0) и другие символы из категории Space Separator Unicode.
Функция применяется для очистки пользовательского ввода, обработки текстовых данных из внешних источников, нормализации строк перед сравнением или сохранением.
Синтаксис: str.trimRight() или str.trimEnd().
Аргументы:
Метод не принимает аргументов.
Возвращаемое значение:
Новая строка, являющаяся копией исходной строки, но с удаленными пробельными символами в ее конце. Если в конце исходной строки не было пробельных символов, возвращается новая строка, идентичная исходной.
Примеры использования
Базовый пример удаления пробелов справа:
let str1 = ' Текст с пробелами ';
console.log(`'${str1.trimRight()}'`);' Текст с пробелами'
Удаление различных пробельных символов:
let str2 = 'Строка\t\n\r';
console.log(`'${str2.trimRight()}'`);'Строка'
Использование синонима trimEnd:
let str3 = 'JavaScript ';
console.log(`'${str3.trimEnd()}'`);'JavaScript'
Строка без конечных пробелов остается неизменной:
let str4 = 'Нет пробелов';
console.log(`'${str4.trimRight()}'`);'Нет пробелов'
Похожие функции в JavaScript
trim(): Удаляет пробелы с обоих концов строки. Используется, когда необходимо очистить строку целиком.
trimLeft() / trimStart(): Удаляет пробельные символы только с начала строки. Полезен при обработке выравненного текста.
replace() с регулярным выражением: Позволяет удалять не только пробелы, но и любые другие заданные символы с конца строки. Например, str.replace(/[\s]+$/, '') аналогично trimRight(), а str.replace(/[0-9]+$/, '') удалит цифры в конце.
Выбор метода зависит от задачи: для стандартной очистки от пробелов используют trimRight, для более сложных паттернов — replace().
Типичные ошибки
Ожидание модификации исходной строки. Метод возвращает новую строку, а не изменяет существующую.
let original = ' строка ';
original.trimRight();
console.log(`'${original}'`); // Ошибочное ожидание изменений' строка '
Попытка передать аргументы. Это может привести к игнорированию аргументов или ошибке в будущих версиях.
'test '.trimRight(' '); // Аргумент игнорируется'test'
Применение к значениям, не являющимся строками. Необходимо предварительное преобразование.
let num = 123;
console.log(num.trimRight()); // Ошибка TypeErrorUncaught TypeError: num.trimRight is not a function
Изменения в версиях
Метод trimRight() был стандартизирован в ECMAScript 2017 (ES8). До этого он мог быть реализован в браузерах как нестандартный метод.
В той же спецификации ES8 был представлен синоним trimEnd() для лучшей согласованности с другими методами, такими как padEnd(). Оба имени ссылаются на одну и ту же функцию и могут использоваться взаимозаменяемо.
Расширенные примеры
Очистка данных из внешнего источника (например, CSV):
const csvRow = 'value1, value2 ,value3 ';
const cleaned = csvRow.split(',').map(cell => cell.trimRight());
console.log(cleaned);['value1', ' value2', 'value3']
Построение выравненного текстового интерфейса:
function alignRight(text, width) {
return text.trimRight().padStart(width, '.');
}
console.log(alignRight('Заголовок', 20));..........Заголовок
Рекурсивная очистка пробелов в конце для всех строк в объекте:
function trimObjectStrings(obj) {
for (let key in obj) {
if (typeof obj[key] === 'string') {
obj[key] = obj[key].trimRight();
}
}
return obj;
}
let data = { name: 'John ', age: '30 ' };
console.log(trimObjectStrings(data));{ name: 'John', age: '30' }Работа с неразрывным пробелом (\u00A0):
let str = 'Важный текст\u00A0';
console.log(str.trimRight().length === str.length);
console.log(str.trimRight().length);false 14
Использование в цепочке методов:
let input = ' Привет, мир! \n';
let result = input.trimRight().toUpperCase().slice(0, 10);
console.log(`'${result}'`);' ПРИВЕТ,'
Аналоги в других языках
PHP: Функция rtrim($string, $charlist). В отличие от JavaScript, вторым аргументом можно задать набор символов для удаления.
echo rtrim(' test '); // ' test'
echo rtrim('123test123', '123'); // '123test'test 123test
Python: Метод str.rstrip([chars]). Также поддерживает необязательный аргумент для указания удаляемых символов.
print(' test '.rstrip()) # ' test'
print('xyztestxyz'.rstrip('xyz')) # 'xyztest'test xyztest
MySQL: Функция RTRIM(str) удаляет только пробелы, без возможности указать другие символы.
SELECT RTRIM(' test ');test
C/C++: Стандартной функции нет, требуется ручная реализация или использование библиотечных функций, работающих с указателями.