>>> import string
>>> s = "one,two,three"
>>> print string.split(s, ",")
['one', 'two', 'three']
>>> print s.split(",")
['one', 'two', 'three']
В версии Python 3.0 функции, которые доступны через методы, более не будут дублироваться в модуле string
.
В Python 2.4 появилась альтернатива использованию операции форматирования: класс Template
. Пример:
>>> import string
>>> tpl = string.Template("$a + $b = ${c}")
>>> a = 2
>>> b = 3
>>> c = a + b
>>> print tpl.substitute(vars())
2 + 3 = 5
>>> del c # удаляется имя c
>>> print tpl.safe_substitute(vars())
2 + 3 = $c
>>> print tpl.substitute(vars(), c=a+b)
2 + 3 = 5
>>> print tpl.substitute(vars())
Traceback (most recent call last):
File "/home/rnd/tmp/Python–2.4b2/Lib/string.py", line 172, in substitute
return self.pattern.sub(convert, self.template)
File "/home/rnd/tmp/Python–2.4b2/Lib/string.py", line 162, in convert
val = mapping[named]
KeyError: 'c'
Объект–шаблон имеет два основных метода: substitute()
и safe_substitute()
. Значения для подстановки в шаблон берутся из словаря ( vars()
содержит словарь со значениями переменных) или из именованных фактических параметров. Если есть неоднозначность в задании ключа, можно использовать фигурные скобки при написании ключа в шаблоне.
В таблице ниже приведены некоторые наиболее употребительные методы объектов–строк и unicode–объектов.
Метод |
Описание |
center(w) |
Центрирует строку в поле длины w |
count(sub) |
Число вхождений строки sub в строке |
encode([enc[, errors]]) |
Возвращает строку в кодировке enc . Параметр errors может принимать значения « strict » (по умолчанию), « ignore », « replace » или « xmlcharrefreplace » |
endswith(suffix) |
Оканчивается ли строка на suffix |
expandtabs([tabsize]) |
Заменяет символы табуляции на пробелы. По умолчанию tabsize=8 |
find(sub [,start [,end]]) |
Возвращает наименьший индекс, с которого начинается вхождение подстроки sub в строку. Параметры start и end ограничивают поиск окном start:end , но возвращаемый индекс соответствует исходной строке. Если подстрока не найдена, возвращается –1 |
index(sub[, start[, end]]) |
Аналогично find() , но возбуждает исключение ValueError в случае неудачи |
alnum() |
Возвращает True , если строка содержит только буквы и цифры и имеет ненулевую длину. Иначе — False |
isalpha() |
Возвращает True , если строка содержит только буквы и длина ненулевая |
isdecimal() |
Возвращает True , если строка содержит только десятичные знаки (только для строк Unicode) и длина ненулевая |
isdigit() |
Возвращает True , если содержит только цифры и длина ненулевая |
islower() |
Возвращает True , если все буквы строчные (и их более одной), иначе — False |
isnumeric() |
Возвращает True , если в строке только числовые знаки (только для Unicode) |
isspace() |
Возвращает True , если строка состоит только из пробельных символов. Внимание! Для пустой строки возвращается False |
join(seq) |
Соединение строк из последовательности seq через разделитель, заданный строкой |
lower() |
Приводит строку к нижнему регистру букв |
lstrip() |
Удаляет пробельные символы слева |
replace(old, new[, n]) |
Возвращает копию строки, в которой подстроки old заменены new . Если задан параметр n , то заменяются только первые n вхождений |
rstrip() |
Удаляет пробельные символы справа |
split([sep[, n]]) |
Возвращает список подстрок, получающихся разбиением строки a разделителем sep . Параметр n определяет максимальное количество разбиений (слева) |
startswith(prefix) |
Начинается ли строка с подстроки prefix |
strip() |
Удаляет пробельные символы в начале и в конце строки |
translate(table) |
Производит преобразование с помощью таблицы перекодировки table , содержащей словарь для перевода кодов в коды (или в None, чтобы удалить символ). Для Unicode–строк |
translate(table[, dc]) |
То же, но для обычных строк. Вместо словаря — строка перекодировки на 256 символов, которую можно сформировать с помощью функции string.maketrans() . Необязательный параметр dc задает строку с символами, которые необходимо удалить |
upper() |
Переводит буквы строки в верхний регистр |
В следующем примере применяются методы split()
и join()
для разбиения строки в список (по разделителям) и обратное объединение списка строк в строку
Читать дальше
Конец ознакомительного отрывка
Купить книгу