Рубрики
Без рубрики

Руководство по манипулированию строки Python

Автор оригинала: Renan Moura Ferreira.

Струнные манипуляции – одна из тех действий в программировании, которые мы, как программисты, делаем все время. Во многих языках программирования вы должны сделать много тяжелого подъема самостоятельно. В Python, с другой стороны, у вас есть несколько встроенных функций в стандартной библиотеке, чтобы помочь вам манипулировать строками во многих различных способах. В этой статье я покажу вам, как работать с строками, специально наряду с некоторыми приятными трюками. Быстрая информация: Вы можете скачать PDF версию этого Python String Manipulation Handbook здесь Отказ Готов погрузиться в?

Оглавление

  1. Основы строки Python
  2. Как разделить строку в Python
  3. Как удалить все белые пробелы в строке в Python
  4. Как обрабатывать многослойные строки в Python
  5. lstrip (): как удалить пробелы и символы с начала строки в Python
  6. RSTRIP (): Как удалить пробелы и символы с конца строки в Python
  7. Стрип (): как удалить пробелы и символы с начала и конца строки в Python
  8. Как сделать целый ряд строчной буквы в Python
  9. Как сделать целый строковый прописными буквами в Python
  10. Как использовать титульный случай в Python
  11. Как использовать чехол Swap в Python
  12. Как проверить, пустая строка в Python
  13. Rjust (): как правильно озвучить строку в Python
  14. Ljust (): как оставить – обосновать строку в Python
  15. Isalnum (): Как проверить буквенно-цифровые символы только в строке в Python
  16. ISPRINTABLE (): Как проверить для печатных игр в строке в Python
  17. ISSPACE (): Как проверить белое пространство только в строке в Python
  18. StartSwith (): Как проверить, начинается ли строка с определенного значения в Python
  19. Capitalize (): Как установить первый персонаж только в верхний регистр в строке в Python
  20. Isupper (): Как проверить на верхний регистр только в строке в Python
  21. Присоединяйтесь к (): Как присоединиться к элементам элементами для одной строки в Python
  22. Сплитлины (): Как разделить строку на перерывах линии в Python
  23. islower (): Как проверить на нижний регистр только в строке в Python
  24. ISNUMERIC (): Как проверить числовые численности только в строке в Python
  25. ISDIGIT (): Как проверить цифры только в строке в Python
  26. Isdecimal (): Как проверить десятичные дроби только в строке в Python
  27. ISALPHA (): Как проверить буквы только в строке в Python
  28. Istitle (): Как проверить, начинается ли каждое слово с верхнего регистра в строке в Python
  29. ExpandTabs (): Как установить количество пробелов для вкладки в строке в Python
  30. Центр (): Как центрировать строку в Python
  31. zfill (): Как добавить нули в строку в Python
  32. Найти (): Как проверить, имеет ли строка определенную подстроку в Python
  33. Как удалить префикс или суффикс в строке в Python
  34. lstrip () vs readleprefix () и rstrip () vs removeuffix ()
  35. Как нарезка работает в Python
  36. Как изменить строку в Python
  37. Заключение

Основы строки 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 Отказ