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

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

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

'  это проверка  '

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

'это проверка'

Варианты

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

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

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

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

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

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

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

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

Обрезка по месту

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

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

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

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

Функция обрезки Delphi считает символы от U + 0000 (NULL) до U + 0020 (SPACE) пробелами.

Непространственные пробелы

В Шаблоны Брайля Блок Unicode содержит U + 2800 ПУСТОЙ УЗОР БРАЙЛЯ (HTML⠀), а Шрифт Брайля узор без точек. Стандарт Unicode явно указывает, что он не действует как пробел.

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

Применение

использованная литература

  1. ^ "Отделка". Freepascal.org. 2013-02-02. Получено 2013-08-24.
  2. ^ «Персонаж (Java 2 Platform SE 5.0)». Java.sun.com. Получено 2013-08-24.

внешняя ссылка