Список рядкових методів для маніпулювання великими та малими літерами в Python

Бізнес

Рядковий тип Python (str) стандартно поставляється зі зручними методами для маніпулювання великими та малими літерами. Ви можете конвертувати з великого та малого регістру та визначати регістр.

Тут наведено наступну інформацію.

  • Перетворення між великими та малими літерами
    • Основне використання
    • Обробка повнорозмірних і напіврозмірних символів
    • str.upper()Перетворіть усі літери у великі
    • str.lower()Перетворити всі літери на малі
    • str.capitalize()Перетворіть першу літеру у велику, а решту — у нижню.
    • str.title()Перетворіть першу літеру слова у велику, а решту — у нижню.
    • str.swapcase()Перетворіть великі літери на малі та малі літери у великі.
  • Визначити великі та малі літери
    • str.isupper(): Визначте, чи всі літери є великими
    • str.islower(): Визначте, чи всі символи є малими.
    • str.istitle(): Визначте, чи це титульний регістр.
  • Порівнюйте рядки без урахування регістру

Перетворення між великими та малими літерами

Основне використання

Спочатку я поясню основне використання. Для прикладу ми будемо використовувати метод upper(), щоб написати всі літери великими літерами, але те саме стосується й інших методів.

Для зручності ми пишемо «перетворення», але в Python об’єкти типу рядка (str) не оновлюються, тому сам оригінальний рядок (s_org у прикладі) не змінюється.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

print(s_org)
# pYThon proGramminG laNguAge

Якщо ви хочете використовувати перетворений рядок пізніше, ви можете зберегти його в новій змінній, як показано нижче.

s_new = s_org.upper()
print(s_new)
# PYTHON PROGRAMMING LANGUAGE

Також можна перезаписати вихідну змінну.

s_org = s_org.upper()
print(s_org)
# PYTHON PROGRAMMING LANGUAGE

Обробка повнорозмірних і напіврозмірних символів

Якщо символ чутливий до регістру, наприклад алфавіт, він буде перетворений як на однобайтові, так і на двобайтові символи.

Символи, які не чутливі до регістру, наприклад цифри та китайські ієрогліфи, залишаються незмінними. Приклад наведено для upper(), але те саме стосується й інших методів.

s_org = 'Pyhon Python 123'

print(s_org.upper())
# PYHON PYTHON 123

str.upper(): перетворити всі літери у верхній регістр

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

str.lower(): перетворити всі символи в нижній регістр

s_org = 'pYThon proGramminG laNguAge'

print(s_org.lower())
# python programming language

str.capitalize(): перетворити першу літеру у верхній регістр, решту — у нижній

s_org = 'pYThon proGramminG laNguAge'

print(s_org.capitalize())
# Python programming language

str.title(): перетворити першу літеру слова у верхній регістр, а решту — у нижню

Перетворення на так званий титульний регістр.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.title())
# Python Programming Language

str.swapcase(): перетворити верхній регістр у нижній регістр, нижній регістр у верхній

Поміняти місцями великі та малі літери.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.swapcase())
# PytHON PROgRAMMINg LAnGUaGE

Визначити великі та малі літери

У наступних прикладах методи викликаються безпосередньо з рядкових літералів, таких як ‘python’, але те саме вірно, коли вони зберігаються у змінних, як у попередніх прикладах.

str.isupper(): визначити, чи всі літери є великими

isupper() повертає true, якщо він містить принаймні один символ, чутливий до регістру, і всі вони є великими, і false в іншому випадку.

print('PYTHON'.isupper())
# True

print('Python'.isupper())
# False

Якщо символ чутливий до регістру, оцінюються навіть двобайтові символи.

print('PYTHON'.isupper())
# True

Якщо включено навіть один символ, чутливий до регістру, символ без урахування регістру ігнорується, але якщо не включено жодного символу, чутливого до регістру (всі символи не чутливі до регістру), рішення є хибним.

print('PYTHON 123'.isupper())
# True

print('123'.isupper())
# False

str.islower(): визначити, чи всі символи є малими

islower() повертає істину, якщо містить принаймні один символ, чутливий до регістру, і всі вони мають нижній регістр, і false в іншому випадку.

print('python'.islower())
# True

print('Python'.islower())
# False

Якщо символ чутливий до регістру, оцінюються навіть двобайтові символи.

print('python'.islower())
# True

Якщо включено навіть один символ, чутливий до регістру, символ без урахування регістру ігнорується, але якщо не включено жодного символу, чутливого до регістру (всі символи не чутливі до регістру), рішення є хибним.

print('python 123'.islower())
# True

print('123'.islower())
# False

str.istitle(): Визначте, чи є регістр заголовком.

istitle() повертає true, якщо рядок є регістром заголовка (перша літера слова — велика, решта — нижній), інакше — false.

print('Python Programming Language'.istitle())
# True

print('PYTHON Programming Language'.istitle())
# False

Якщо він містить символи, не чутливі до регістру, він буде хибним, якщо перед символами без урахування регістру буде мала літера.

print('★Python Programming Language'.istitle())
# True

print('Python★ Programming Language'.istitle())
# True

print('Py★thon Programming Language'.istitle())
# False

Зауважте, що рядків, як у наведеному вище прикладі, небагато, але цілком реально включати числа в порядкові номери та інші випадки.

print('The 1st Team'.istitle())
# False

print('The 1St Team'.istitle())
# True

Якщо не включено жодних символів, чутливих до регістру (усі символи не чутливі до регістру), false.

print('123'.istitle())
# False

Порівнюйте рядки без урахування регістру

При порівнянні рядків різні великі та малі літери не вважаються еквівалентними.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Якщо ви хочете зробити порівняння без урахування регістру, ви можете використовувати upper() або lower(), щоб перетворити ці два та порівняти їх.

print(s1.upper() == s2.upper())
# True

print(s1.lower() == s2.lower())
# True

print(s1.capitalize() == s2.capitalize())
# True

print(s1.title() == s2.title())
# True