2.18. Удаление хвостовых символов новой строки и прочих

2.18. Удаление хвостовых символов новой строки и прочих

Часто бывает необходимо удалить лишние символы в конце строки. Типичный пример — удаление символа новой строки после чтения строки из внешнего источника.

Метод chop удаляет последний символ строки (обычно это символ новой строки). Если перед символом новой строки находится символ перевода каретки ( ), он тоже удаляется. Причина такого поведения заключается в том, что разные операционные системы неодинаково трактуют понятие «новой строки». В UNIX-подобных системах новая строка представляется символом . А в DOS и Windows для этой цели используется пара символов .

str = gets.chop # Прочитать, удалить символ новой строки.

s2 = "Some string " # "Some string" (нет символа новой строки).

s3 = s2.chop! # s2 теперь тоже равно "Some string".

s4 = "Other string "

s4.chop! # "Other string" (нет символа новой строки).

Обратите внимание, что при вызове варианта chop! операнд-источник модифицируется.

Важно еще отметить, что последний символ удаляется, даже если это не символ новой строки:

str = "abcxyz"

s1 = str.chop # "abcxy"

Поскольку символ новой строки присутствует не всегда, иногда удобнее применять метод chomp:

str = "abcxyz"

str2 = "123 "

str3 = "123 "

str4 = "123 "

s1 = str.chomp  # "abcxyz"

s2 = str2.chomp # "123"

# Если установлен стандартный разделитель записей, то удаляется не только

# , но также и .

s3 = str3.chomp # "123"

s4 = str4.chomp # "123"

Как и следовало ожидать, имеется также метод chomp! для замены «на месте». Если методу chomp передана строка-параметр, то удаляются перечисленные в ней символы, а не подразумеваемый по умолчанию разделитель записей. Кстати, если разделитель записей встречается в середине строки, то он не удаляется:

str1 = "abcxyz"

str2 = "abcxyz"

s1 = str1.chomp("yz") # "abcx"

s2 = str2.chomp("x")  # "abcxyz"

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

14.4.6. Удаление вершины дерева и удаление дерева: tdelete() и tdestroy()

Из книги автора

14.4.6. Удаление вершины дерева и удаление дерева: tdelete() и tdestroy() Наконец, вы можете удалить элементы из дерева и, на системах GLIBC, удалить само дерево целиком:void *tdelete(const void *key, void **rootp,int (*compare)(const void*, const void*));/* Расширение GLIBC, в POSIX нет: */void tdestroy(void *root, void (*free_node)(void *nodep));Аргументы


1.2. Способы защиты в новой ОС

Из книги автора

1.2. Способы защиты в новой ОС Контроль учетных записей пользователей (UAC)Механизм UAC (или UAP, что является синонимом) призван повысить общую защищенность операционной системы Windows Vista. Он позволяет запускать с пониженными правами приложения, требующие системных функций или


5.7.8 Удаление специальных символов

Из книги автора

5.7.8 Удаление специальных символов После того, как все подстановки в командной строке сделаны, из нее еще удаляются все вхождения символов , ` и ", которые служили для отмены специального значения других


Настройка прочих параметров системы

Из книги автора

Настройка прочих параметров системы В данном разделе мы расскажем о том, как просмотреть и, при необходимости – отредактировать еще ряд важных параметров системы. При этом мы продолжим знакомство с окном редактирования свойств системы, на котором кратко


Создание новой формы

Из книги автора

Создание новой формы Microsoft Office Access 2007 предоставляет разнообразные способы создания форм в зависимости от необходимой функциональности и сложности. Можно создавать следующие виды форм:• обычная форма с помощью инструмента Форма ;• разделенная форма с помощью


Дизайн новой формы

Из книги автора

Дизайн новой формы Только что созданная новая форма (рис. 10.1) представляет собой чистое поле для ваших упражнений в разработке пользовательского интерфейса. Вы можете менять размеры формы и ее положение на экране, подбирать форме цвета и размещать в ней элементы


Урок № 18. Справочник прочих доходов и расходов

Из книги автора

Урок № 18. Справочник прочих доходов и расходов В справочнике прочих доходов и расходов формируется и хранится список доходных и расходных статей, возникновение которых не связано с основным видом деятельности компании (курсовые разницы и др.). Информация, которая


2.31. Удаление заданных символов

Из книги автора

2.31. Удаление заданных символов Метод delete удаляет из строки те символы, которые включены в список, переданный в качестве параметра:s1 = "To be, or not to be"s2 = s1.delete("b")  # "To e, or not to e"s3 = "Veni, vidi, vici!"s4 = s3.delete(",!") # "Veni vidi vici"Этот параметр подчиняется тем же правилам, что и параметр метода count


Определение класса символов и преобразование символов

Из книги автора

Определение класса символов и преобразование символов Функция Краткое описание isalnum проверка на букву или цифру isalpha проверка на букву isascii проверка на символ из набора кодировки ASCII iscntrl проверка на управляющий символ isdigit проверка на десятичную


1.1.2. Создание новой модели

Из книги автора

1.1.2. Создание новой модели При создании новой модели возникает диалог, в котором следует указать, будет ли создана модель заново, или она будет открыта из файла либо из репозитория ModelMart, внести имя модели и выбрать методологию, в которой будет построена модель (рис. 1.1.2).Как


17.2. Создание новой презентации

Из книги автора

17.2. Создание новой презентации Даже самая простая презентация, включающая фотографии вашего семейного отдыха летом, требует некоторого планирования. Как вы расположите слайды? Хаотично или в хронологической последовательности (первый день, второй день и т. д.)? Об этом


Проектирование новой лестницы

Из книги автора

Проектирование новой лестницы Как уже упоминалось выше, ArchiCAD имеет в своем составе инструмент, предназначенный для создания новых лестниц. Вызывается этот инструмент кнопкой выбора действия над текущим объектом расположенной в области Preview and Positioning (Просмотр и


Подключение прочих комплектующих

Из книги автора

Подключение прочих комплектующих Дальше все просто. В свободные разъемы PCI и PCI-E установите имеющиеся в наличии внутренние комплектующие (модем, сетевую и звуковую карты, ТВ-тюнер и т. д.). Алгоритм их установки точно такой же, как и для видеокарты, так что мы не будем