TrimEnd: примеры (JAVASCRIPT)

Использование метода trimEnd для обработки строк
Раздел: Строки, Форматирование
trimEnd: string

Функция trimEnd в JavaScript

Метод trimEnd() принадлежит объектам типа String и удаляет пробельные символы с правого края (конца) строки. Эта операция полезна при обработке пользовательского ввода, чтении данных из файлов или парсинге текста, где необходимо устранить нежелательные пробелы, табуляции или символы новой строки в конце.

Пробельными символами считаются: обычный пробел (U+0020), табуляция (\t, U+0009), символ новой строки (\n, U+000A), возврат каретки (\r, U+000D) и некоторые другие пробельные символы Юникода, например, неразрывный пробел (U+00A0).

Аргументы

Метод trimEnd() не принимает параметров.

Возвращаемое значение

Возвращается новая строка, содержащая исходное значение без пробельных символов в конце. Исходная строка не изменяется.

Короткие примеры использования

Базовое удаление пробелов в конце строки:

const str = '   Привет, мир!   ';
console.log(`'${str.trimEnd()}'`);
'   Привет, мир!'

Удаление символов табуляции и новой строки:

const str2 = 'Текст\n\t';
console.log(`'${str2.trimEnd()}'`);
'Текст'

Работа со строкой без концевых пробелов:

const str3 = 'Без пробелов';
console.log(`'${str3.trimEnd()}'`);
'Без пробелов'

Похожие методы в JavaScript

trimStart() выполняет обратную операцию, удаляя пробельные символы только в начале строки. trim() удаляет их с обоих концов одновременно. Выбор метода зависит от конкретной задачи: trimEnd() применяется, когда важно сохранить начальные пробелы (например, для форматирования), а trim() используется для полной очистки строки.

Типичные ошибки

Ожидание модификации исходной строки. Метод возвращает новую строку, не изменяя оригинал.

let original = '  тест  ';
let modified = original.trimEnd();
console.log(original);
console.log(modified);
'  тест  '
'  тест'

Некорректная обработка нулевых или нестроковых значений. Вызов метода для null или undefined вызывает ошибку.

let value = null;
console.log(value.trimEnd());
TypeError: Cannot read properties of null

История изменений

Метод trimEnd() был стандартизирован в ECMAScript 2019 (ES10) вместе с trimStart(). До этого использовалось альтернативное название trimRight(), которое остается поддерживаемым для обратной совместимости. Оба имени ссылаются на одну функцию.

Расширенные примеры

Обработка массива строк для выравнивания по левому краю:

Пример javascript
const lines = ['строка1   ', '  строка2\t', 'строка3\n'];
const cleaned = lines.map(line => line.trimEnd());
console.log(cleaned);
['строка1', '  строка2', 'строка3']

Цепочка методов для очистки данных:

Пример javascript
const userInput = '  email@example.com  \n';
const processed = userInput.trimEnd().toLowerCase();
console.log(`'${processed}'`);
'  email@example.com'

Удаление только конкретных символов (используя регулярные выражения):

Пример javascript
const data = 'текстxxx';
const trimmedCustom = data.replace(/x+$/, '');
console.log(`'${trimmedCustom}'`);
'текст'

Сравнение производительности с trimRight():

Пример javascript
const testStr = 'a '.repeat(1000);
console.time('trimEnd');
testStr.trimEnd();
console.timeEnd('trimEnd');

console.time('trimRight');
testStr.trimRight();
console.timeEnd('trimRight');
trimEnd: 0.025ms
trimRight: 0.028ms

Аналоги в других языках программирования

В Python метод rstrip() аналогичен по поведению:

text = '   строка   '
print(f"'{text.rstrip()}'")
'   строка'

В PHP функция rtrim() принимает строку и дополнительные символы для удаления:

$text = '   текст   ';
echo "'" . rtrim($text) . "'";
'   текст'

В MySQL функция RTRIM() удаляет только пробелы (не все пробельные символы):

SELECT RTRIM('   данные   ');
'   данные'

В C# метод TrimEnd() может принимать массив символов для удаления:

string text = "   пример   ";
Console.WriteLine($"'{text.TrimEnd()}'")
'   пример'

JS trimEnd function comments

En
TrimEnd Removes whitespace from the end of a string