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() 包含至少一個區分大小寫的字符並且所有字符都是小寫的,則返回 true,否則返回 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
Copied title and URL