在 Python 中大寫字串的首字母

Azaz Farooq 2023年1月30日
  1. 在 Python 中使用 capitalize() 方法大寫字串的第一個字母
  2. 在 Python 中使用 title() 方法大寫字串的第一個字母
  3. 在 Python 中使用 capwords() 函式大寫字串的第一個字母
  4. 在 Python 中使用 regex 方法將字串的第一個字母大寫
  5. 在 Python 中使用使用者定義的方法將字串的第一個字母大寫
在 Python 中大寫字串的首字母

本文將討論在 Python 中大寫字串的第一個字母的方法。我們還將討論當字串的開頭是數字而不是字母時的情況。

在 Python 中使用 capitalize() 方法大寫字串的第一個字母

字串類的 capitalize() 方法將第一個字元大寫,而其餘字元則為小寫。如果第一個字元已經是大寫的,它不會做任何事情。

完整的示例程式碼在下面給出。

string = "learn Python"
cap_string = string.capitalize()
print("The capitalized string is:", cap_string)

輸出:

The capitalized string is: Learn python

如果字串中的第一個字元是數字,它不會將第一個字母大寫。為了解決這個問題,我們可以使用 isdigit() 函式。

下面給出了使用 isdigit() 函式的完整示例程式碼。

string = "5learn python"

for i, c in enumerate(string):
    if not c.isdigit():
        break

cap_string = string[:i] + string[i:].capitalize()

print("The capitalized string is:", cap_string)

輸出:

The capitalized string is: 5Learn python

enumerate() 函式提供一個字串的可迭代計數器,並返回其列舉物件。isdigit() 檢查該字元是否為數字。當遇到第一個非數字字元時,它就會中斷 for 迴圈。

string[:i] 是前幾位數字的子字串,string[i:].capitalize() 將剩餘字串的第一個字母轉換為大寫。

在 Python 中使用 title() 方法大寫字串的第一個字母

title() 方法可以使每個單詞的標題字串大寫。這意味著每個單詞的第一個字元被轉換為大寫,其餘單詞字元被轉換為小寫。

完整的示例程式碼如下:

string = "learn python"
cap_string = string.title()
print("The capitalized string is:", cap_string)

輸出:

The capitalized string is: Learn Python

不管單詞開頭是否存在數字,此函式都會將字串中每個單詞的首字母大寫。

在 Python 中使用 capwords() 函式大寫字串的第一個字母

它是 string 模組的功能。它將字串拆成單詞,並在每個單詞大寫後使用指定的分隔符將它們重新連線起來。預設的分隔符是空格。

完整的示例程式碼如下:

import string

strng = "learn python"
cap_strng = string.capwords(strng)
print("The capitalized string is:", cap_strng)

輸出:

The capitalized string is: Learn Python

在 Python 中使用 regex 方法將字串的第一個字母大寫

這個方法也會將字串中每個單詞的第一個字母大寫,而其餘的字元都是小寫。

完整的示例程式碼如下:

import re

string = "learn python"

string = re.sub("([a-zA-Z])", lambda x: x.groups()[0].upper(), string, 1)

print("The capitalized string is:", string)

輸出:

The capitalized string is: Learn python

Python 的正規表示式模組的 sub() 函式將給定字串中的字串模式 [a-zA-Z](小寫或大寫字母)用 lambda 函式的返回值替換。

lambda x: x.groups()[0].upper() 將正規表示式中第一個匹配的組(本例中的第一個字母)轉換為大寫字母。x 是這裡的匹配物件。

我們需要將第一個字母大寫,因此,re.sub() 函式中的 count 設定為 1,以便僅進行一次替換。

在 Python 中使用使用者定義的方法將字串的第一個字母大寫

我們也可以做一個使用者自定義的函式來大寫字串的第一個字母。我們將找到第一個字母的索引 i,並將 upper() 方法應用到子串 string[:i] 中。即使存在前導數字,它也會大寫字串的第一個字母。

完整的示例程式碼如下。

def check_alphabets(strng):
    i = 0
    for c in strng:
        if c.isalpha():
            i = i + 1
            return i
        i = i + 1


def unchanged_characters(strng):
    i = check_alphabets(strng)
    return strng[:i].upper() + strng[i:]


strng = "0learn1python"

cap_string = unchanged_characters(strng)

print("The capitalized string is:", cap_string)

輸出:

The capitalized string is: 0Learn1python

相關文章 - Python String