21:13, Вторник, 03.12.2024
Loger.at.ua
Меню сайта
Мини-чат
500
Категории раздела
История и Время [0]
Древний мир,Средневековье, Новое время,Новейшее время
Культура и Искусство [0]
Архитектура,Музыка, Изобразительное искусство, Театр,Цирк, Кино и Телевидение, Мультипликация, Литература
Философия и Религия [0]
Философия и Религия
Наука и Естествознание [0]
Астрономия,Биология, Геология,Палеонтология, География,Математика, Психология,Медицина, Сельское хозяйство, Физика,Химия, Экономика,Энергетика
Техника [105]
Информационные технологии
Человек и Общество [0]
Лингвистика,Политика, Право,Международные организации, Этнология,Сексуальность, Праздники
Игры и Спорт [0]
Хобби
География [0]
Европа,Азия, Северная Америка, Центральная Америка, Южная Америка, Африка
Разное [0]
Все что не вошло в категории выше.
Наш опрос
Оцените мой сайт
Всего ответов: 0
Игры новости
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Вы используете:
Главная » 2015 » Октябрь » 2 » Trim
10:11
Trim
Например, в Python:
'  Это тест  '.strip()

возвращает строку:
'Это тест'

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

Многие функции trim имеют опциональный параметр для определения списка символов к удалению. Например, PHP и Python позволяют задавать такой опциональный параметр, в то время как Паскаль и Java этого не дают. В функции string-trim языка Common Lisp требуется параметр (называемый character-bag). В C++ библиотека Boost определяет символы пробела в соответствии с локалью, а также предлагает варианты параметра предиката для выбора того, какие символы удалять.

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

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

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

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

Метод trim в Java считает пробелами и управляющие коды, тогда как метод isWhitespace() распознаёт символы пробелов юникода.

Ниже приведены примеры с использованием нескольких языков программирования. Все показанные реализации возвращают новую строку и не изменяют первоначальную переменную.Пример использования    Язык программирования
String.Trim([chars])    C#, Visual Basic .NET, Windows PowerShell
std.string.strip(string)    D
(string-trim '(#\Space #\Tab #\Newline) string)    Common Lisp
(string-trim string)    Scheme
string.trim()    Java
Trim(String)    Паскаль[3]
string.strip()    Python
strip(string [,option , char])    REXX
string:strip(string [,option , char])    Erlang
string.strip    Ruby
trim($string)    PHP
Trim(String)    QBasic, Visual Basic, Delphi
string trim $string    Tcl
ALLTRIM(String)    FoxPro

В AWK, для этого можно использовать регулярные выражения:
ltrim(v) = gsub(/^[ \t\r]+/, "", v)
rtrim(v) = gsub(/[ \t\r]+$/, "", v)
trim(v)  = ltrim(v); rtrim(v)

или:
function ltrim(s) { sub(/^[ \t\r]+/, "", s); return s }
function rtrim(s) { sub(/[ \t\r]+$/, "", s); return s }
function trim(s)  { return rtrim(ltrim(s)); }

Начиная с ECMAScript 5, в JavaScript появилась возможность использовать trim(). До её появления объекты String можно было расширять с помощью прототипа:
String.prototype.trim = function() {
  return this.replace(/^\s+|\s+$/g, "");
}
Категория: Техника | Просмотров: 544 | Добавил: logert@atua | Теги: TRIM | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт
Поиск
Погода
Онлайн радио
Онлайн радио
Гороскоп
Календарь
«  Октябрь 2015  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031
Архив записей
Главные новости
Поделись
Новости
Блог
[28.09.2015]
Текст лицензии Creative Commons Attribution-ShareAlike 3.0 Unported (0)
[28.09.2015]
Вики Украина:Правила и указания (0)
[30.09.2015]
Вики- Украина: Отказ от ответственности (0)
[28.09.2015]
Вики:Авторские права (0)
[26.11.2015]
Пресс - релиз сайта Вики Украина (0)
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Logert.at.ua © 2024
    МЕТА - Украина. Рейтинг сайтов   Рейтинг@Mail.ru