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

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

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

«Это тест»

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

«это тест»

Варианты

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

Наиболее популярные варианты функции trim обрезают только начало или конец строки. Обычно называются 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 — нет. Для string-trimфункции Common Lisp параметр (называемый character-bag ) является обязательным. Библиотека C++ Boost определяет пробельные символы в соответствии с locale , а также предлагает варианты с предикатным параметром ( функтором ) для выбора символов, которые будут обрезаны.

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

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

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

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

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

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

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

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

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

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

Непробелы

Блок Unicode Braille Patterns содержит U+2800 BRAILLE PATTERN BLANK — шаблон Брайля без выпуклых точек. В стандарте Unicode прямо указано, что он не действует как пробел.

Неразрывный пробел U+00A0 NO-BREAK SPACE (  ,   ) также может рассматриваться как непробел в целях обрезки.  

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

Ссылки

  1. ^ "Trim". Freepascal.org. 2013-02-02 . Получено 2013-08-24 .
  2. ^ "Персонаж (Java 2 Platform SE 5.0)". Java.sun.com . Получено 2013-08-24 .
  • Tcl: обрезка струн
  • Более быстрая обрезка JavaScript — сравнивает различные реализации обрезки JavaScript
  • php строка вырезана и обрезана- php строка вырезана и обрезана
Retrieved from "https://en.wikipedia.org/w/index.php?title=Trimming_(computer_programming)&oldid=1188107512"