Автор оригинала: Renan Moura Ferreira.
Струнные манипуляции – одна из тех действий в программировании, которые мы, как программисты, делаем все время. Во многих языках программирования вы должны сделать много тяжелого подъема самостоятельно. В Python, с другой стороны, у вас есть несколько встроенных функций в стандартной библиотеке, чтобы помочь вам манипулировать строками во многих различных способах. В этой статье я покажу вам, как работать с строками, специально наряду с некоторыми приятными трюками. Быстрая информация: Вы можете скачать PDF версию этого Python String Manipulation Handbook здесь Отказ Готов погрузиться в?
Оглавление
- Основы строки Python
- Как разделить строку в Python
- Как удалить все белые пробелы в строке в Python
- Как обрабатывать многослойные строки в Python
- lstrip (): как удалить пробелы и символы с начала строки в Python
- RSTRIP (): Как удалить пробелы и символы с конца строки в Python
- Стрип (): как удалить пробелы и символы с начала и конца строки в Python
- Как сделать целый ряд строчной буквы в Python
- Как сделать целый строковый прописными буквами в Python
- Как использовать титульный случай в Python
- Как использовать чехол Swap в Python
- Как проверить, пустая строка в Python
- Rjust (): как правильно озвучить строку в Python
- Ljust (): как оставить – обосновать строку в Python
- Isalnum (): Как проверить буквенно-цифровые символы только в строке в Python
- ISPRINTABLE (): Как проверить для печатных игр в строке в Python
- ISSPACE (): Как проверить белое пространство только в строке в Python
- StartSwith (): Как проверить, начинается ли строка с определенного значения в Python
- Capitalize (): Как установить первый персонаж только в верхний регистр в строке в Python
- Isupper (): Как проверить на верхний регистр только в строке в Python
- Присоединяйтесь к (): Как присоединиться к элементам элементами для одной строки в Python
- Сплитлины (): Как разделить строку на перерывах линии в Python
- islower (): Как проверить на нижний регистр только в строке в Python
- ISNUMERIC (): Как проверить числовые численности только в строке в Python
- ISDIGIT (): Как проверить цифры только в строке в Python
- Isdecimal (): Как проверить десятичные дроби только в строке в Python
- ISALPHA (): Как проверить буквы только в строке в Python
- Istitle (): Как проверить, начинается ли каждое слово с верхнего регистра в строке в Python
- ExpandTabs (): Как установить количество пробелов для вкладки в строке в Python
- Центр (): Как центрировать строку в Python
- zfill (): Как добавить нули в строку в Python
- Найти (): Как проверить, имеет ли строка определенную подстроку в Python
- Как удалить префикс или суффикс в строке в Python
- lstrip () vs readleprefix () и rstrip () vs removeuffix ()
- Как нарезка работает в Python
- Как изменить строку в Python
- Заключение
Основы строки Python
текст
Тип является одним из наиболее распространенных типов и часто называют строка Или, в Python, просто ул ...| Отказ
my_city = "New York" print(type(my_city)) #Single quotes have exactly #the same use as double quotes my_city = 'New York' print(type(my_city)) #Setting the variable type explicitly my_city = str("New York") print(type(my_city))
Как объединять строки
Вы можете использовать +
Оператор к объединенным строкам.
ConcateNation – это когда у вас есть две или более строки, и вы хотите присоединиться к ним в один.
word1 = 'New ' word2 = 'York' print(word1 + word2)
New York
Как выбрать CHAR
Чтобы выбрать CHAR, используйте []
и укажите положение CHAR.
Положение 0 относится к первой позиции.
>>> word = "Rio de Janeiro" >>> char=word[0] >>> print(char) R
Как получить размер строки
Лен ()
Функция возвращает длину строки.
>>> len('Rio') 3 >>> len('Rio de Janeiro') 14
Как заменить часть строки
заменить ()
Способ заменяет часть строки другой. В качестве примера давайте заменим «Рио» на «Мар».
>>> 'Rio de Janeiro'.replace('Rio', 'Mar') 'Mar de Janeiro'
Рио означает реку на португальском и Мар означает море – просто так вы знаете, что я не выбрал эту замену так случайно.
Как считать
Укажите, что рассчитывать как аргумент.
В этом случае мы считаем, сколько пробелов существует в «Рио-де-Жанейро», который является 2.
>>> word = "Rio de Janeiro" >>> print(word.count(' ')) 2
Как повторить строку
Вы можете использовать *
Символ, чтобы повторить строку.
Здесь мы умножаем слово «Токио» на 3.
>>> words = "Tokyo" * 3 >>> print(words) TokyoTokyoTokyo
Как разделить строку в Python
Разделение струны на более мелкие части – это очень распространенная задача. Для этого мы используем Сплит ()
Метод в Python.
Давайте посмотрим некоторые примеры о том, как это сделать.
Пример 1: используйте пробелы в качестве разделителей
В этом примере мы разделяем фразу на пробеле, создавая список с именем my_words с пятью элементами, соответствующими каждому слову в фразе.
my_phrase = "let's go to the beach" my_words = my_phrase.split(" ") for word in my_words: print(word) #output: #let's #go #to #the #beach print(my_words) #output: #["let's", 'go', 'to', 'the', 'beach']
Обратите внимание, что по умолчанию Сплит ()
Метод использует любое последовательное количество пробелов в качестве разделителей. Мы можем изменить код выше:
my_phrase = "let's go to the beach" my_words = my_phrase.split() for word in my_words: print(word) #output: #let's #go #to #the #beach
Выход то же самое, так как у нас есть только один пробел между каждым словом.
Пример 2: пройти разные аргументы в качестве разделителей
При работе с данными очень часто читают некоторые файлы CSV для извлечения информации от них.
Таким образом, вам может потребоваться сохранить некоторые конкретные данные из определенного столбца.
Файлы CSV обычно имеют поля, разделенные с запятой «;» или запятая »,”.
В этом примере мы собираемся использовать Сплит ()
метод, проходящий в качестве аргумента конкретный разделитель, «;» в таком случае.
my_csv = "mary;32;australia;mary@email.com" my_data = my_csv.split(";") for data in my_data: print(data) #output: #mary #32 #australia #mary@email.com print(my_data[3]) #output: # mary@email.com
Как удалить все белые пробелы в строке в Python
Если вы хотите по-настоящему удалить любое пространство в строке, оставляя только символы, лучшее решение – использовать регулярное выражение.
Вам нужно импортировать Re
Модуль, который обеспечивает регулярные экспрессии.
Обратите внимание, что \ S
представляет не только пространство ''
, но и форма корма \ f
, линия подачи \ N
перевозка возврата \ R
, вкладка \ T
и вертикальная вкладка \ v
Отказ
Таким образом, \ s = [\ f \ n \ r \ t \ v]
Отказ
+
Символ называется квантификатором и читается как «один или несколько». Это означает, что в этом случае он будет рассмотрен один или несколько белых пробелов, поскольку он расположен сразу после \ S
Отказ
import re phrase = ' Do or do not there is no try ' phrase_no_space = re.sub(r'\s+', '', phrase) print(phrase) # Do or do not there is no try print(phrase_no_space) #Doordonotthereisnotry
Оригинальная переменная фраза
остается такой же. Вы должны назначить новую очищенную строку в новую переменную, Fase_no_space
в таком случае.
Как обрабатывать многослойные строки в Python
Тройные цитаты
Чтобы обрабатывать многослойные струны в Python, вы используете тройные цитаты, либо одиноки, либо двойные.
Этот первый пример использует двойные кавычки.
long_text = """This is a multiline, a long string with lots of text, I'm wrapping it in triple quotes to make it work.""" print(long_text) #output: #This is a multiline, # #a long string with lots of text, # #I'm wrapping it in triple quotes to make it work.
Сейчас так же, как и раньше, но с одиночными цитатами:
long_text = '''This is a multiline, a long string with lots of text, I'm wrapping it in triple quotes to make it work.''' print(long_text) #output: #This is a multiline, # #a long string with lots of text, # #I'm wrapping it in triple quotes to make it work.
Обратите внимание, что оба выхода одинаковы.
Круглые скобки
Давайте посмотрим пример с круглыми скобками.
long_text = ("This is a multiline, " "a long string with lots of text " "I'm wrapping it in brackets to make it work.") print(long_text) #This is a multiline, a long string with lots of text I'm wrapping it in triple quotes to make it work.
Как видите, результат не то же самое. Для достижения новых строк я должен добавить \ N
, как это:
long_text = ("This is a multiline, \n\n" "a long string with lots of text \n\n" "I'm wrapping it in brackets to make it work.") print(long_text) #This is a multiline, # #a long string with lots of text # #I'm wrapping it in triple quotes to make it work.
Вершины
Наконец, обратные косания также являются возможностью.
Уведомление нет места после \
персонаж, как он бросил бы ошибку.
long_text = "This is a multiline, \n\n" \ "a long string with lots of text \n\n" \ "I'm using backlashes to make it work." print(long_text) #This is a multiline, # #a long string with lots of text # #I'm wrapping it in triple quotes to make it work.
lstrip (): как удалить пробелы и символы с начала строки в Python
Используйте lstrip ()
Способ удаления пробелов с начала строки.
regular_text = " This is a regular text." no_space_begin_text = regular_text.lstrip() print(regular_text) #' This is a regular text.' print(no_space_begin_text) #'This is a regular text.'
Обратите внимание, что оригинал Regular_Text
Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, no_space_begin_text
в таком случае.
Как удалить символы
lstrip ()
Метод также принимает определенные символы для удаления в качестве параметров.
regular_text = "$@G#This is a regular text." clean_begin_text = regular_text.lstrip("#$@G") print(regular_text) #$@G#This is a regular text. print(clean_begin_text) #This is a regular text.
RSTRIP (): Как удалить пробелы и символы с конца строки в Python
Используйте RSTRIP ()
Способ удаления пробелов с конца строки.
regular_text = "This is a regular text. " no_space_end_text = regular_text.rstrip() print(regular_text) #'This is a regular text. ' print(no_space_end_text) #'This is a regular text.'
Обратите внимание, что оригинал Regular_Text
Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, no_space_end_text
в таком случае.
RSTRIP ()
Метод также принимает определенные символы для удаления в качестве параметров.
regular_text = "This is a regular text.$@G#" clean_end_text = regular_text.rstrip("#$@G") print(regular_text) #This is a regular text.$@G# print(clean_end_text) #This is a regular text.
Стрип (): как удалить пробелы и символы с начала и конца строки в Python
Используйте полоса ()
Способ удаления пробелов с самого начала и конца строки.
regular_text = " This is a regular text. " no_space_text = regular_text.strip() print(regular_text) #' This is a regular text. ' print(no_space_text) #'This is a regular text.'
Обратите внимание, что оригинал Regular_Text
Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, no_space_text
в таком случае.
полоса ()
Метод также принимает определенные символы для удаления в качестве параметров.
regular_text = "AbC#This is a regular text.$@G#" clean_text = regular_text.strip("AbC#$@G") print(regular_text) #AbC#This is a regular text.$@G# print(clean_text) #This is a regular text.
Как сделать целый ряд строчной буквы в Python
Используйте ниже ()
Способ преобразования целой строки в строчные буквы.
regular_text = "This is a Regular TEXT." lower_case_text = regular_text.lower() print(regular_text) #This is a Regular TEXT. print(lower_case_text) #this is a regular text.
Обратите внимание, что оригинал Regular_Text
Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, lower_case_text
в таком случае.
Как сделать целый строковый прописными буквами в Python
Используйте Верхний ()
Способ преобразования целой строки в прописные буквы.
regular_text = "This is a regular text." upper_case_text = regular_text.upper() print(regular_text) #This is a regular text. print(upper_case_text) #THIS IS A REGULAR TEXT.
Обратите внимание, что оригинал Regular_Text
Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, experty_case_Text
в таком случае.
Как использовать титульный случай в Python
Используйте Название ()
Способ преобразования первой буквы в каждое слово в верхний регистр и остальные символы в нижний регистр.
regular_text = "This is a regular text." title_case_text = regular_text.title() print(regular_text) #This is a regular text. print(title_case_text) #This Is A Regular Text.
Обратите внимание, что оригинал Regular_Text
Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, title_case_text
в таком случае.
Как использовать чехол Swap в Python
Используйте Свапка ()
Способ преобразования верхних символов регистра в нижний регистр и наоборот.
regular_text = "This IS a reguLar text." swapped_case_text = regular_text.swapcase() print(regular_text) #This IS a reguLar text. print(swapped_case_text) #tHIS is A REGUlAR TEXT.
Обратите внимание, что оригинал Regular_Text
Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, Smokt_Case_Text
в таком случае.
Как проверить, пустая строка в Python
Питоновый способ проверить, если строка
пусто использует не
оператор.
my_string = '' if not my_string: print("My string is empty!!!")
Чтобы проверить напротив и посмотреть, является ли строка не Пусто, сделайте это:
my_string = 'amazon, microsoft' if my_string: print("My string is NOT empty!!!")
Rjust (): как правильно озвучить строку в Python
Используйте Rjust ()
направо – оправдать строку.
word = 'beach' number_spaces = 32 word_justified = word.rjust(number_spaces) print(word) #'beach' print(word_justified) #' beach'
Обратите внимание на пробелы во второй строке. Слово «Beach» имеет 5 символов, что дает 27 пространства для заполнения пустым пространством.
Оригинал слово
Переменная остается неизменным, поэтому нам нужно назначить возврат метода новой переменной, word_justied
в таком случае.
Rjust ()
Также принимает определенный символ в качестве параметра для заполнения оставшегося пространства.
word = 'beach' number_chars = 32 char = '$' word_justified = word.rjust(number_chars, char) print(word) #beach print(word_justified) #$$$$$$$$$$$$$$$$$$$$$$$$$$$beach
Похоже на первую ситуацию, у меня есть 27 $
Знаки, чтобы сделать его 32, когда я считаю 5 символов, содержащихся в словом «Beach».
Ljust (): как оставить – обосновать строку в Python
Используйте ljust ()
покинуть – оправдать строку.
word = 'beach' number_spaces = 32 word_justified = word.ljust(number_spaces) print(word) #'beach' print(word_justified) #'beach '
Обратите внимание на пробелы во второй строке. Слово «Beach» имеет 5 символов, что дает 27 пространства для заполнения пустым пространством.
Оригинал слово
Переменная остается неизменным, поэтому нам нужно назначить возврат метода новой переменной, word_justied
в таком случае.
ljust ()
Также принимает определенный символ в качестве параметра для заполнения оставшегося пространства.
word = 'beach' number_chars = 32 char = '$' word_justified = word.ljust(number_chars, char) print(word) #beach print(word_justified) #beach$$$$$$$$$$$$$$$$$$$$$$$$$$$
Похоже на первую ситуацию, у меня есть 27 $
Знаки, чтобы сделать его 32, когда я считаю 5 символов, содержащихся в словом «Beach».
Isalnum (): Как проверить буквенно-цифровые символы только в строке в Python
Используйте Isalnum ()
Метод проверки, содержит ли строка только буквенно-цифровые символы.
word = 'beach' print(word.isalnum()) #output: True word = '32' print(word.isalnum()) #output: True word = 'number32' #notice there is no space print(word.isalnum()) #output: True word = 'Favorite number is 32' #notice the space between words print(word.isalnum()) #output: False word = '@number32$' #notice the special chars '@' and '$' print(word.isalnum()) #output: False
ISPRINTABLE (): Как проверить для печатных игр в строке в Python
Используйте Isprintable ()
Метод проверки, являются ли символы в строке печати.
text = '' # notice this is an empty string, there is no white space here print(text.isprintable()) #output: True text = 'This is a regular text' print(text.isprintable()) #output: True text = ' ' #one space print(text.isprintable()) #output: True text = ' ' #many spaces print(text.isprintable()) #output: True text = '\f\n\r\t\v' print(text.isprintable()) #output: False
Обратите внимание, что в первых 4 примерах каждый символ занимает некоторое пространство, даже если это пустое место, как вы можете видеть в первом примере.
Последний пример возвращается Ложь
Показаны 5 видов символов, которые непечатаются: Form Feed \ f
, линия подачи \ N
перевозка возврата \ R
, вкладка \ T
и вертикальная вкладка \ v
Отказ
Некоторые из этих «невидимых» персонажей могут испортить свою печать, давая вам неожиданный выход, даже когда все выглядит «хорошо».
ISSPACE (): Как проверить белое пространство только в строке в Python
Используйте ISSPACE ()
Метод проверки, являются ли символы в строке все белые пробелы.
text = ' ' print(text.isspace()) #output: True text = ' \f\n\r\t\v' print(text.isspace()) #output: True text = ' ' print(text.isspace()) #output: True text = '' # notice this is an empty string, there is no white space here print(text.isspace()) #output: False text = 'This is a regular text' print(text.isspace()) #output: False
Уведомление во втором примере того, что белое пространство не только ''
, но и форма корма \ f
, линия подачи \ N
перевозка возврата \ R
, вкладка \ T
и вертикальная вкладка \ v
Отказ
StartSwith (): Как проверить, начинается ли строка с определенного значения в Python
Используйте StartSwith ()
Метод проверки, начинается ли строка с определенного значения.
phrase = "This is a regular text" print(phrase.startswith('This is')) #output: True print(phrase.startswith('text')) #output: False
Вы также можете установить, если вы хотите начать совпадение в определенной позиции и завершить его в другом определенном положении строки.
phrase = "This is a regular text" print(phrase.startswith('regular', 10)) #the word regular starts at position 10 of the phrase #output: True print(phrase.startswith('regular', 10, 22)) #look for in 'regular text' #output: True print(phrase.startswith('regular', 10, 15)) ##look for in 'regul' #output: False
Наконец, вы можете проверить несколько строк одновременно. Вместо того, чтобы использовать какую-то цикл, вы можете использовать кортеж в качестве аргумента со всеми строками, которые вы хотите соответствовать.
phrase = "This is a regular text" print(phrase.startswith(('regular', 'This'))) #output: True print(phrase.startswith(('regular', 'text'))) #output: False print(phrase.startswith(('regular', 'text'), 10, 22)) #look for in 'regular text' #output: True
Capitalize (): Как установить первый персонаж только в верхний регистр в строке в Python
Используйте капитализировать ()
Способ преобразования в верхний регистр только первый символ в строке.
Остальная часть строки преобразуется в нижний регистр.
text = 'this is a regular text' print(text.capitalize()) #This is a regular text text = 'THIS IS A REGULAR TEXT' print(text.capitalize()) #This is a regular text text = 'THIS $ 1S @ A R3GULAR TEXT!' print(text.capitalize()) #This $ 1s @ a r3gular text! text = '3THIS $ 1S @ A R3GULAR TEXT!' print(text.capitalize()) #3this $ 1s @ a r3gular text!
Обратите внимание, что любой счет символов, такой как номер или специальный символ. Так что в последнем примере 3
Является ли первым символом и не имеет никаких изменений, в то время как остальная часть строки преобразуется в нижний регистр.
Isupper (): Как проверить на верхний регистр только в строке в Python
Используйте Isupper ()
Метод проверки, если символы в строке все в верхнем регистре.
text = 'This is a regular text' print(text.isupper()) #output: False text = 'THIS IS A REGULAR TEXT' print(text.isupper()) #output: True text = 'THIS $ 1S @ A R3GULAR TEXT!' print(text.isupper()) #output: True
Если вы заметите последний пример, номера и специальные символы, такие как @
и $
В строке не имеют никакой разницы и Isupper ()
все еще возвращается Правда
Поскольку метод проверяет только алфавитные символы.
Присоединяйтесь к (): Как присоединиться к элементам элементами для одной строки в Python
Используйте Присоединяйтесь ()
Способ присоединиться к всем элементам, если в строку.
Основной синтаксис: rings.join (потенциал)
Согласно синтаксису выше, строка требуется в качестве сепаратора.
Способ возвращает новую строку, что означает, что оригинальный итератор остается неизменным.
Так как Присоединяйтесь ()
Способ принимает только строки, если какой-либо элемент в Iterable имеет другой тип, ошибка будет брошена.
Давайте посмотрим некоторые примеры с: строка, список, кортеж, набор и словарь
Присоединиться (): строки
Присоединяйтесь ()
Метод ставит $
Знак как сепаратор для каждого символа в строке.
my_string = 'beach' print('$'.join(my_string)) #output: b$e$a$c$h
Присоединяйтесь (): списки
У меня простой список трех предметов, представляющих автомобильные бренды.
Присоединяйтесь ()
Метод будет использовать $
Знак как сепаратор.
Он объединяет все предметы в списке и ставит $
знак между ними.
my_list = ['bmw', 'ferrari', 'mclaren'] print('$'.join(my_list)) #output: bmw$ferrari$mclaren
Этот пример напоминает вам, что Присоединяйтесь ()
не работает со строковыми элементами.
При попытке объединить int
Элементы, ошибка поднимается.
my_list = [1, 2, 3] print('$'.join(my_list)) #output: #Traceback (most recent call last): # File "", line 1, in #TypeError: sequence item 0: expected str instance, int found
Присоединиться (): кортежи
Текет следует за тем же обоснованным, поскольку пример списка объясняется ранее.
Опять же, я использую $
Знак как сепаратор.
my_tuple = ('bmw', 'ferrari', 'mclaren') print('$'.join(my_tuple)) #output: bmw$ferrari$mclaren
Присоединиться (): наборы
Поскольку набор также такой же, как кортеж и список, я использовал другой сепаратор в этом примере.
my_set = {'bmw', 'ferrari', 'mclaren'} print('|'.join(my_set)) #output: ferrari|bmw|mclaren
Присоединиться (): словари
Словарь имеет пойму при использовании Присоединяйтесь ()
Способ: он присоединяется к ключам, а не значения.
В этом примере показано конконтрация клавиш.
my_dict = {'bmw': 'BMW I8', 'ferrari': 'Ferrari F8', 'mclaren': 'McLaren 720S'} print(','.join(my_dict)) #output: bmw,ferrari,mclaren
Сплитлины (): Как разделить строку на перерывах линии в Python
Используйте Сплитлины ()
Способ разделить строку на разрывах линии.
Возвращение метода представляет собой список линий.
my_string = 'world \n cup' print(my_string.splitlines()) #output: ['world ', ' cup']
Если вы хотите сохранить перерыв линии, Сплитлины ()
Принимает параметр, который можно установить на Правда , по умолчанию есть Ложь Отказ
my_string = 'world \n cup' print(my_string.splitlines(True)) #output: ['world \n', ' cup']
islower (): Как проверить на нижний регистр только в строке в Python
Используйте islower ()
Метод проверки. Если символы в строке все в нижнем регистре.
text = 'This is a regular text' print(text.islower()) #output: False text = 'this is a regular text' print(text.islower()) #output: True text = 'this $ 1s @ a r3gular text!' print(text.islower()) #output: True
Если вы заметите в последнем примере, номера и специальные символы, такие как @
и $
В строке не имеют никакой разницы и islower ()
все еще возвращается Правда
Поскольку метод проверяет только алфавитные символы.
ISNUMERIC (): Как проверить числовые численности только в строке в Python
Используйте Isnumeric ()
Метод проверки, содержит ли строка только числовые символы.
Числовые включают число от 0 до 9 и комбинации их, римских цифр, суперскрипет, подписку, фракций и других вариаций.
word = '32' print(word.isnumeric()) #output: True print("\u2083".isnumeric()) #unicode for subscript 3 #output: True print("\u2169".isnumeric()) #unicode for roman numeral X #output: True word = 'beach' print(word.isnumeric()) #output: False word = 'number32' print(word.isnumeric()) #output: False word = '1 2 3' #notice the space between chars print(word.isnumeric()) #output: False word = '@32$' #notice the special chars '@' and '$' print(word.isnumeric()) #output: False
isdecimal ()
более строгим, чем Isdigit ()
, который в свою очередь строчен, чем Isnumeric ()
Отказ
ISDIGIT (): Как проверить цифры только в строке в Python
Используйте Isdigit ()
Метод проверки, содержит ли строка только цифры.
Цифры включают номера от 0 до 9, а также Superscripts и подписи.
word = '32' print(word.isdigit()) #output: True print("\u2083".isdigit()) #unicode for subscript 3 #output: True word = 'beach' print(word.isdigit()) #output: False word = 'number32' print(word.isdigit()) #output: False word = '1 2 3' #notice the space between chars print(word.isdigit()) #output: False word = '@32$' #notice the special chars '@' and '$' print(word.isdigit()) #output: False
isdecimal ()
более строгим, чем Isdigit ()
, который в свою очередь строчен, чем Isnumeric ()
Отказ
Isdecimal (): Как проверить десятичные дроби только в строке в Python
Используйте isdecimal ()
Способ проверки, если строка содержит только десятичные дроби, то есть только номера от 0 до 9 и комбинации этих чисел.
Подписки, суперскрипты, римские цифры и другие вариации будут возвращены как Ложь
Отказ
word = '32' print(word.isdecimal()) #output: True word = '954' print(word.isdecimal()) #output: True print("\u2083".isdecimal()) #unicode for subscript 3 #output: False word = 'beach' print(word.isdecimal()) #output: False word = 'number32' print(word.isdecimal()) #output: False word = '1 2 3' #notice the space between chars print(word.isdecimal()) #output: False word = '@32$' #notice the special chars '@' and '$' print(word.isdecimal()) #output: False
isdecimal ()
больше строго, чем Isdigit ()
, который в свою очередь более строгим, чем Isnumeric ()
Отказ
ISALPHA (): Как проверить буквы только в строке в Python
Используйте Isalpha ()
Способ проверки, содержит ли строка только буквы.
word = 'beach' print(word.isalpha()) #output: True word = '32' print(word.isalpha()) #output: False word = 'number32' print(word.isalpha()) #output: False word = 'Favorite number is blue' #notice the space between words print(word.isalpha()) #output: False word = '@beach$' #notice the special chars '@' and '$' print(word.isalpha()) #output: False
Istitle (): Как проверить, начинается ли каждое слово с верхнего регистра в строке в Python
Используйте ISTITLE ()
Метод проверки Если первый символ в каждом слове в строке является прописным регистром, а другие символы строчные.
text = 'This is a regular text' print(text.istitle()) #output: False text = 'This Is A Regular Text' print(text.istitle()) #output: True text = 'This $ Is @ A Regular 3 Text!' print(text.istitle()) #output: True
Если вы заметите в последнем примере, номера и специальные символы, такие как @
и $
В строке не имеют никакой разницы и ISTITLE ()
все еще возвращается Правда
Поскольку метод проверяет только алфавитные символы.
ExpandTabs (): Как установить количество пробелов для вкладки в строке в Python
Используйте ExpandTabs ()
Метод для установки количества пробелов для вкладки.
Вы можете установить любое количество пробелов, но когда никакой аргумент не приведен, по умолчанию используется 8.
Базовое использование
my_string = 'B\tR' print(my_string.expandtabs()) #output: B R
Обратите внимание на 7 пробелов между буквами B и R.
\ T
находится в положении два после одного символа, поэтому он будет заменен на 7 пробелов.
Давайте посмотрим на другой пример.
my_string = 'WORL\tD' print(my_string.expandtabs()) #output: WORL D
С Мир
имеет четыре персонажа, \ T
Заменяется 4 пробелами, чтобы сделать его в общей сложности 8, размер вкладки по умолчанию.
Код ниже дает нам 4 Пространства для первой вкладки после четырех персонажей «Мир» и 7 Пространства для второй вкладки после одного символа ‘d’.
my_string = 'WORL\tD\tCUP' print(my_string.expandtabs()) #output: WORL D CUP
Пользовательские табуляции
Можно установить TABSIZE по мере необходимости.
В этом примере Tabsize IS 4 , что дает нам 3 пространства после CHAR ‘B’.
my_string = 'B\tR' print(my_string.expandtabs(4)) #output: B R
Этот код имеет TABSIZE, установленный на 6 , что дает нам 5 пробелов после Char ‘B’.
my_string = 'B\tR' print(my_string.expandtabs(6)) #output: B R
Центр (): Как центрировать строку в Python
Используйте Центр ()
Способ для центра строки.
word = 'beach' number_spaces = 32 word_centered = word.center(number_spaces) print(word) #'beach' print(word_centered) ##output: ' beach '
Обратите внимание на пробелы во второй строке. Слово «Beach» имеет 5 символов, что дает 28 пробелов для заполнения пустым пространством, 14 пробелами до 14 лет, чтобы центрировать слово.
Оригинал слово
Переменная остается неизменным, поэтому нам нужно назначить возврат метода новой переменной, Word_centered
в таком случае.
Центр ()
Также принимает определенный символ в качестве параметра для заполнения оставшегося пространства.
word = 'beach' number_chars = 33 char = '$' word_centered = word.center(number_chars, char) print(word) #beach print(word_centered) #output: $$$$$$$$$$$$$$beach$$$$$$$$$$$$$$
Похоже на первую ситуацию, у меня 14 $
В каждой стороне, чтобы сделать его 33, когда я считаю 5 символов, содержащихся в словом «Beach».
zfill (): Как добавить нули в строку в Python
Используйте zfill ()
Вставить нули 0
в начале строки.
Количество нулей дается числом, прошедшим, как аргумент, минус количество символов в строке.
Слово «Beach» имеет 5 символов, что дает 27 пространства для заполнения нулями, чтобы сделать его 32, как указано в переменной Size_String.
word = 'beach' size_string = 32 word_zeros = word.zfill(size_string) print(word) #beach print(word_zeros) #000000000000000000000000000beach
Оригинал слово
Переменная остается неизменным, поэтому нам нужно назначить возврат метода новой переменной, Word_Zeros
в таком случае.
Также обратите внимание, что если аргумент меньше, чем количество символов в строке, ничего не меняется.
В приведенном ниже примере «Beach» имеет 5 символов, и мы хотим добавить нули, пока не достигнет Size_String
Из 4, что означает, что нечего делать.
word = 'beach' size_string = 4 word_zeros = word.zfill(size_string) print(word) #beach print(word_zeros) #'beach'
Найти (): Как проверить, имеет ли строка определенную подстроку в Python
Используйте Найти ()
Метод проверки, имеет ли строка определенную подстроку.
Метод возвращает индекс первого вхождения данного значения.
Помните, что счет индекса начинается в 0.
phrase = "This is a regular text" print(phrase.find('This')) print(phrase.find('regular')) print(phrase.find('text'))
0 10 18
Если значение не найдено, он вернется -1
Отказ
phrase = "This is a regular text" print(phrase.find('train'))
-1
Вы также можете начать поиск в определенную позицию и завершить его в другом определенном положении строки.
phrase = "This is a regular text" #look for in 'This is', the rest of the phrase is not included print(phrase.find('This', 0, 7)) #look for in 'This is a regular' print(phrase.find('regular', 0, 17)) #look for in 'This is a regul' print(phrase.find('a', 0, 15))
0 10 8
Как удалить префикс или суффикс в строке в Python
С Python 3.9 тип строки будет иметь два новых метода.
Вы можете специально удалить префикс из строки с помощью RemovePrefix ()
Метод:
>>> 'Rio de Janeiro'.removeprefix("Rio") ' de Janeiro'
Или удалить суффикс, используя RemoSuffix ()
Метод:
>>> 'Rio de Janeiro'.removesuffix("eiro") 'Rio de Jan'
Просто пройдите в качестве аргумента, который будет считать текст как префикс или суффикс, который будет удален, и метод вернет новую строку в результате.
Я рекомендую прочитать PEP 616 В официальной документации, если вам интересно, как эти функции добавляются на язык.
Это довольно простое изменение и очень дружелюбное для начинающих, чтобы привыкнуть к чтению официальной документации.
lstrip () vs readleprefix () и rstrip () vs removeuffix ()
Это вызывает путаницу для многих людей.
Легко посмотреть на lstrip ()
и RemovePrefix ()
И удивляйтесь, какая реальная разница между ними.
При использовании lstrip ()
Аргумент – это набор ведущих персонажей, которые будут удалены столько раз, сколько они возникают:
>>> word = 'hubbubbubboo' >>> word.lstrip('hub') 'oo'
В то время как RemovePrefix ()
Удалю только точное совпадение:
>>> word = 'hubbubbubboo' >>> word.removeprefix('hub') 'bubbubboo'
Вы можете использовать ту же обоснование, чтобы различать RSTRIP ()
и RemoSuffix ()
Отказ
>>> word = 'peekeeneenee' >>> word.rstrip('nee') 'peek'
>>> word = 'peekeeneenee' >>> word.removesuffix('nee') 'peekeenee'
И как бонус, на всякий случай, если вы никогда не работали с регулярными выражениями раньше, будьте благодарны, что у вас есть полоса ()
Обрезать наборы символов из строки вместо регулярного выражения:
>>> import re >>> word = 'amazonia' >>> word.strip('ami') 'zon' >>> re.search('^[ami]*(.*?)[ami]*$', word).group(1) 'zon'
Как нарезка работает в Python
Нарезка является одним из самых полезных инструментов на языке Python.
Таким образом, важно иметь хорошее понимание того, как это работает.
Основная нажатие на нарезю
Допустим, у нас есть массив под названием «Список».
list[start:stop:step]
- Начать: Где вы хотите нажатие на наличие
- Стоп: до тех пор, пока вы хотите, чтобы наслаиться, но помните ценность Стоп не включен
- Шаг: Если вы хотите пропустить элемент, то использование по умолчанию 1, поэтому вы проходите все элементы в массиве
Индексы
Когда нарезка, индексы указываются в между персонажи, не на персонажах.
Для слова «фильм»:
+---+---+---+---+---+ | m | o | v | i | e | +---+---+---+---+---+ 0 1 2 3 4 5 -5 -4 -3 -2 -1
Если я ломтим от 0 до 2, я получаю «Мо» в примере выше и не ‘mov’.
Поскольку строка – это просто список символов, то же самое относится к списку:
my_list = [1, 2 , 3, 4, 5]
Становится:
+---+---+---+---+---+ | 1 | 2 | 3 | 4 | 5 | +---+---+---+---+---+ 0 1 2 3 4 5 -5 -4 -3 -2 -1
Примеры нарезки в Python
У нас есть переменная, содержащая строку «фильм», как так:
word = 'movie'
Все приведенные ниже примеры будут применены к этому слову.
Пример 1.
Чтобы получить первые два персонажа:
sliced = word[:2] print(sliced) mo
Обратите внимание, что мы могли бы использовать 0 для обозначения начала, но это не нужно.
Пример 2.
Последний пункт:
sliced = word[-1] print(sliced) e
Пример 3.
Пропуская буквы с шагом 2:
sliced = word[::2] print(sliced) mve
Как изменить строку в Python
Чтобы изменить строку, используйте синтаксис ломтика:
my_string = "ferrari" my_string_reversed = my_string[::-1] print(my_string) print(my_string_reversed)
ferrari irarref
Slice Syntax позволяет вам установить шаг, который является -1
в примере.
Шаг по умолчанию – 1
То есть идти вперед 1 символ струны за раз.
Если вы установите шаг в -1
У вас есть противоположное, верните 1 символ за раз.
Таким образом, вы начинаете в положении последнего символа и двигайтесь назад к первому символу в положении 0.
Это оно!
Поздравляем с достижением конца.
Я хочу поблагодарить вас за чтение этой статьи.
Если вы хотите узнать больше, оформить мой блог Renanmf.com Отказ
Помните Для скачивания PDF версия этого Python String Manipution справочника Отказ
Вы также можете найти меня в Twitter: @renanmouraf Отказ