Строки - это просто текст. В Python мы объявляем строки между “” или ‘’ или ‘’’ ‘’’ или “”” “””. Приведенные ниже примеры помогут вам лучше понять строки.
Различные методы, доступные для строк
Каждый объект строки имеет несколько встроенных методов, некоторые из них мы уже видели, например s.split(” ”).
>>> s = "kushal das"
>>> s.title()
'Kushal Das'
Метод title() возвращает версию строки с заглавными буквами в начале слов, все остальные буквы в нижнем регистре.
>>> z = s.upper()
>>> z
'KUSHAL DAS'
>>> z.lower()
'kushal das'
Метод upper() возвращает полностью версию в верхнем регистре, тогда как lower() возвращает версию строки в нижнем регистре.
>>> s = "I am A pRoGraMMer"
>>> s.swapcase()
'i AM a PrOgRAmmER'
Метод swapcase() возвращает строку с переставленными регистрами :)
>>> s = "jdwb 2323bjb"
>>> s.isalnum()
False
>>> s = "jdwb2323bjb"
>>> s.isalnum()
True
Из-за пробела в первой строке isalnum() вернул False, он проверяет, являются ли все символы алфавитно-цифровыми.
>>> s = "SankarshanSir"
>>> s.isalpha()
True
>>> s = "Sankarshan Sir"
>>> s.isalpha()
False
Метод isalpha() проверяет только наличие букв.
>>> s = "1234"
>>> s.isdigit() #Чтобы проверить, являются ли все символы цифрами
True
>>> s = "Fedora9 is coming"
>>> s.islower() #Чтобы проверить, являются ли все символы в нижнем регистре
False
>>> s = "Fedora9 Is Coming"
>>> s.istitle() #Чтобы проверить, является ли строка заголовком
True
>>> s = "INDIA"
>>> s.isupper() #Чтобы проверить, являются ли символы в верхнем регистре
True
Для разделения любой строки мы используем split(). Он принимает строку в качестве аргумента, в зависимости от этого он разделяет основную строку и возвращает список, содержащий разделенные строки.
>>> s = "We all love Python"
>>> s.split(" ")
['We', 'all', 'love', 'Python']
>>> x = "Nishant:is:waiting"
>>> x.split(':')
['Nishant', 'is', 'waiting']
Противоположный метод для split() — это join(). Он принимает список, содержащий строки, и объединяет их.
>>> "-".join("GNU/Linux is great".split(" "))
'GNU/Linux-is-great'
В приведенном выше примере сначала мы разделяем строку “GNU/Linux is great” по пробелам, а затем объединяем их с помощью “-”.
Удаление символов в строках
Строки имеют несколько методов для удаления символов. Самый простой из них — strip(chars). Если вы предоставите аргумент chars, то он удалит любую комбинацию из них. По умолчанию он удаляет только пробельные символы или символы новой строки.
>>> s = " abc\n "
>>> s.strip()
'abc'
Вы можете удалять символы особенно с левой или правой стороны, используя lstrip(chars) или rstrip(chars).
>>> s = "www.foss.in"
>>> s.lstrip("cwsd.")
'foss.in'
>>> s.rstrip("cnwdi.")
'www.foss'
Поиск текста
Строки имеют некоторые методы, которые помогут вам в поиске текста/подстроки в строке. Примеры приведены ниже:
>>> s = "faulty for a reason"
>>> s.find("for")
7
>>> s.find("fora")
-1
>>> s.startswith("fa") #Проверка, начинается ли строка с "fa"
True
>>> s.endswith("reason") #
True
find() помогает найти первое вхождение заданной подстроки, если она не найдена, возвращает -1.
Проверка на палиндром
Палиндромы — это строки, которые читаются одинаково как слева направо, так и справа налево. Пример: “madam”. В этом примере мы будем принимать слово от пользователя и сообщать, является ли оно палиндромом или нет.
#!/usr/bin/env python
s = raw_input("Пожалуйста, введите строку: ")
z = s[::-1]
if s == z:
print("Строка является палиндромом")
else:
print("Строка не является палиндромом")
Результат
$ ./palindrome.py
Пожалуйста, введите строку: madam1
Строка не является палиндромом
$ ./palindrome.py
Пожалуйста, введите строку: madam
Строка является палиндромом
Количество слов
В этом примере мы подсчитаем количество слов в заданной строке
#!/usr/bin/env python
s = input("Введите строку: ")
print("Количество слов в строке: %d" % (len(s.split(" "))))
Результат
$ ./countwords.py
Введите строку: Sayamindu is a great programmer
Количество слов в строке: 5