Python將所有的英文單詞首字母變成大寫

大雄45發表於2021-02-24
導讀 將英文單詞首字母變成大寫是非常常用的文字操作,使用capitalize方法可以將一個英文單詞的首字母變成大寫。

Python將所有的英文單詞首字母變成大寫Python將所有的英文單詞首字母變成大寫

將英文單詞首字母變成大寫是非常常用的文字操作,使用capitalize方法可以將一個英文單詞的首字母變成大寫。但如何將一段文字中所有英文單詞的首字母都變成大寫呢?最容易想到的方法是將這些英文單詞拆成獨立的單詞,然後分別使用capitalize方法將這些英文單詞的首字母變成大寫,然後再將這些單詞連線起來,實現程式碼如下:

s = 'The weather is really nice today, very suitable for an outing.' 
 
arr = s.split() 
for i in range(0, len(arr)): 
    arr[i] = arr[i].capitalize() 
s1 = " ".join(arr) 
print(s1)

執行程式碼看看效果:

從這段程式碼可以看出,使用了3個方法:split、capitalize和join。分別用來拆分字串;將英文單詞首字母轉換為大寫;使用特定的分隔符(本例是空格)合併列表中的字串。

不過這段程式碼好麻煩,有沒有更簡單的方式呢?當然有,鐺鐺鐺!剛出鍋的程式碼來了:

s = 'The weather is really nice today, very suitable for an outing.' 
print(" ".join([word.capitalize() for word in s.split()]))  # 只用了一行程式碼

夠酷吧,這裡只用了一行程式碼。其實這行程式碼與前面的實現方法沒有本質的區別,只是用了Python中透過for in語句生成列表的方式,將多行程式碼簡化成了一行程式碼,Python簡直太神奇了。其實啊,如果要熟悉Python API,連一行程式碼都不用寫,一個方法就解決了,這就是string.capwords方法,該方法屬於string模組,所以需要先匯入string模組,程式碼如下:

import string 
s = 'The weather is really nice today, very suitable for an outing.' 
print(string.capwords(s))   #將字串中所有單詞首字母大寫

看看簡單不,別忙,還沒完呢!capwords方法的預設分隔符是空格,如果這些英文單詞用其他符號分隔,就需要使用capwords方法的第2個引數了,看下面的例子:

import string 
s = 'The,weather,is,really,nice,today,very,suitable,for,an,outing.' 
print(string.capwords(s, ','))   # 用逗號分隔的英文單詞

這段程式碼使用capwords方法將由逗號(,)分隔的所有英文單詞的首字母轉換為大寫字母。執行結果如下:

The,Weather,Is,Really,Nice,Today,Very,Suitable,For,An,Outing.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2759140/,如需轉載,請註明出處,否則將追究法律責任。

相關文章