Пробежимся по всем методам, которыми можно модифицировать строки, найти искомое, определить содержимое. Их много, поэтому я буду строить содержимое не по популярности, а в алфавитном порядке. Так будет легче найти нужное - зная название метода (команды, операции).
В этом посте описаны следующие примеры работы методов:
- str.capitalize()
Делаем первые буквы в строке заглавными; - str.casefold()
Сворачиваем регистр строки; - str.center()
Выравниваем строку по центру; - str.count()
Считаем совпадения в строках; - str.encode()
Корректно переводим строку в байт-код; - str.endswith()
Находим совпадение с концом строки; - str.expandtabs()
Меняем табулятор на пробелы.
capitalize() - метод возвращает копию исходной строки и преобразует первый символ строки в заглавную (заглавную) букву, делая все остальные символы в строке строчными буквами.
casefold () - метод используется для реализации сопоставления строк без учета регистра. Он похож на строковый метод lower (), но только тут он удаляет все различия регистра, присутствующие в строке. т.е. будет полное игнорирование вида написания при сравнении. Метод актуален для редких символов. Примером будет немецкая строчная буква ß эквивалентна ss. Поскольку у буквы ß нет отличий нижнего регистра от верхнего, то метод lower() ничего не будет делать с буквой ß, а метод casefold() преобразует ее в ss.
center()- метод позиционирует значение переменной по центру, дополняя её справа и слева до требуемой длины (первый аргумент) указанным символом (второй аргумент). Если второй не указан - заполнение пробелами.
count() - метод возвращает числовое значение вхождений заданной подстроки в строке в заданном диапазоне индексов, если они переданы. Иначе смотрится вся строка. Без параметров ругнется исключением TypeError
encode() - метод возвращает новую версию строки str в заданной кодировке как объект байтов. В параметрах принимает кодировку и вариант обработки ошибок при кодировании.
Стандартные схемы обработки ошибок для метода encode():
- strict - возвращается исключение UnicodeError, при попадании плохих символов* - дефолтно;
- ignore - плохие символы* пропускаются;
- replace - плохие символы* заменяются на знак вопроса;
- xmlcharrefreplace - плохие символы* заменяются на соответствующее им XML-представление;
- backslashreplace - плохие символы* заменяются на последовательности, начинающиеся с обратной косой черты;
- namereplace - плохие символы* подменяютя последовательностями вида \N{...};
- surrogateescape - заменяет каждый байт на код суррогатный, от U+DC80 до U+DCFF;
- surrogatepass - игнорирует коды суррогатов. Используется со следующими кодеками: utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le;
*плохие символы - это символы, которые не поддерживаются указанной вами кодировкой либо заданной по умолчанию (utf-8).
endswith() - метод возвращает значение-булево: True, если строка заканчивается указанным суффиксом , в противном случае False. В параметры принимает суффикс(поддерживается итерация), начальные, конечные координаты поиска (необязательно.)
expandtabs() - метод возвращает копию строкис замещенными символами табуляции на один или несколько пробелов (зависит от таблицы), размер табуляции передается в параметре метода.
Тут немного сложновато конечно:
При исполнении метода номер столбца задаётся равным нулю с посимвольным обходом строкислева-направо.
Вместо символа табуляции \t вставляется столько пробелов, что бы индекс столбца стал равным позиции следующей табуляции. При этом сам символ табуляции не копируется.
Символы в строке \n \r сохраняются, а индекс столбца сбрасывается на 0. Другие символы копируются без изменений, а номер столбца увеличивается на единицу.
Продолжение следует.
Подписывайтесь на канал, сохраняйте в закладках.