Jump to content

Обрезка (компьютерное программирование)

В компьютерном программировании обрезка ( trim ) или зачистка ( strips ) — это манипуляция со строкой , при которой начальные и конечные пробелы удаляются из строки .

Например, строка (заключенная в апострофы)

'  this is a test  '

будет изменен после обрезки на

'this is a test'

Варианты

[ редактировать ]

Левая или правая обрезка

[ редактировать ]

Наиболее популярные варианты функции обрезки обрезают только начало или конец строки. Обычно называются ltrim и rtrim соответственно или, в случае Python, lstrip и rstrip . C# использует TrimStart и TrimEnd , а также Common Lisp string-left-trim и string-right-trim . В Pascal и Java эти варианты не встроены, хотя Object Pascal (Delphi) имеет TrimLeft и TrimRight . функции [1]

Параметризация списка символов пробелов

[ редактировать ]

Многие функции обрезки имеют дополнительный параметр, позволяющий указать список символов для обрезки вместо символов пробелов по умолчанию. Например, PHP и Python допускают этот необязательный параметр, а Pascal и Java — нет. С Common Lisp'ом string-trim параметр (называемый символьным-мешком функции требуется ). Библиотека C++ Boost определяет символы пробела в соответствии с локалью , а также предлагает варианты с параметром предиката ( функтором ), позволяющим выбирать, какие символы обрезаться.

Возвращаемое значение специальной пустой строки

[ редактировать ]

Необычный вариант обрезки возвращает специальный результат, если после операции обрезки не осталось символов. Например, Apache Jakarta в StringUtils есть функция под названием stripToNull который возвращает null вместо пустой строки.

Нормализация пространства

[ редактировать ]

Нормализация пространства — это связанная манипуляция со строками, при которой помимо удаления окружающих пробелов любая последовательность символов пробелов в строке заменяется одним пробелом. Нормализация пространства выполняется функцией с именем Trim() в приложениях для работы с электронными таблицами (включая Excel , Calc , Gnumeric и Google Docs ), а также normalize-space() функция в XSLT и XPath ,

Обрезка на месте

[ редактировать ]

Хотя большинство алгоритмов возвращают новую (обрезанную) строку, некоторые изменяют исходную строку на месте . Примечательно, что библиотека Boost позволяет либо обрезать на месте, либо возвращать обрезанную копию.

Определение пробелов

[ редактировать ]

Символы, которые считаются пробелами, различаются в зависимости от языка программирования и реализации. Например, C традиционно учитывает только символы пробела, табуляции, перевода строки и возврата каретки, тогда как языки, поддерживающие Unicode, обычно включают все символы пробела Unicode. Некоторые реализации также включают управляющие коды ASCII (непечатаемые символы) вместе с пробелами.

Метод обрезки Java рассматривает пробелы ASCII и управляющие коды как пробелы, в отличие от метода Java. isWhitespace() метод, [2] который распознает все пробельные символы Юникода.

Функция Trim Delphi считает символы от U+0000 (NULL) до U+0020 (ПРОБЕЛ) пробелами.

Пробелы без пробелов

[ редактировать ]

Блок Юникода «Шаблоны Брайля» содержит U+2800 ПУСТОЙ ШАБЛОН БРАЙЛЯ , образец Брайля без выступающих точек. В стандарте Unicode прямо указано, что он не действует как пробел.

Неразрывное пространство U+00A0   ПРОСТРАНСТВО БЕЗ РАЗРЫВА (  ,   ) также можно рассматривать как непространственный для целей обрезки.

Использование

[ редактировать ]
  1. ^ "Подрезать" . Freepascal.org. 02.02.2013 . Проверено 24 августа 2013 г.
  2. ^ «Персонаж (платформа Java 2 SE 5.0)» . Java.sun.com . Проверено 24 августа 2013 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a2ba46d4efba95ef9a1c424e6395c32b__1701590280
URL1:https://arc.ask3.ru/arc/aa/a2/2b/a2ba46d4efba95ef9a1c424e6395c32b.html
Заголовок, (Title) документа по адресу, URL1:
Trimming (computer programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)