大小寫(xiě)轉(zhuǎn)換方法
upper()
用于將字符串中的小寫(xiě)字母轉(zhuǎn)為大寫(xiě)字母。
'abcd'.upper() # 'ABCD'
'aBcD'.upper() # 'ABCD'
lower()
用于將字符串中的大寫(xiě)字母轉(zhuǎn)為小寫(xiě)字母韭脊。
'ABCD'.lower() # 'abcd'
'aBcD'.lower() # 'abcd'
capitalize()
用于將字符串的第一個(gè)字母變成大寫(xiě)网缝,其他字母變小寫(xiě)奠衔。首字符如果是非字母則不變抄谐,其他字母變小寫(xiě)宁赤。
'ABCD'.capitalize() # 'Abcd'
'aBcD'.capitalize() # 'Abcd'
'1abcd'.capitalize() # '1abcd'
'1aBcD'.capitalize() # '1abcd'
title()
用于返回“標(biāo)題化”的字符串——即所有單詞的首字母轉(zhuǎn)為大寫(xiě)惊畏,其余字母均為小寫(xiě)恶耽。
- 注意:非字母后的第一個(gè)字母將轉(zhuǎn)為大寫(xiě)字母。
'this is an example string'.title() # This Is An Example String
'5g is coming'.title() # 5G Is Coming
swapcase()
用于對(duì)字符串的大小寫(xiě)字母進(jìn)行互相轉(zhuǎn)換颜启。
'abcd'.swapcase() # 'ABCD'
'aBcD'.swapcase() # 'AbCd'
我們來(lái)總結(jié)一下:
分割驳棱、組合與移除方法
split()
用于通過(guò)指定分隔符對(duì)字符串進(jìn)行分割。split() 方法有兩個(gè)可選參數(shù)农曲,第一個(gè)參數(shù)為分隔符社搅,默認(rèn)為所有的空字符,包括空格乳规、換行(\n)形葬、制表符(\t)等。第二個(gè)參數(shù)為最大分割次數(shù)暮的,默認(rèn)為 -1笙以,即不限次數(shù)。
'扇 貝 編 程'.split() # ['扇', '貝', '編', '程']
'扇 貝 編 程'.split(' ') # ['扇', '貝', '編', '程']
'扇-貝-編-程'.split('-') # ['扇', '貝', '編', '程']
'扇貝編程'.split('貝編') # ['扇', '程']
'扇 貝 編 程'.split(' ', 1) # ['扇', '貝 編 程']
join()
用于將序列中的元素以指定的字符連接生成一個(gè)新的字符串冻辩。join() 方法接收一個(gè)序列(列表猖腕、元組、字符串等)作為參數(shù)恨闪,. 前面的字符串用于連接符倘感。
# 列表
''.join(['扇', '貝', '編', '程']) # 扇貝編程
'-'.join(['扇', '貝', '編', '程']) # 扇-貝-編-程
# 元組
'-'.join(('扇', '貝', '編', '程')) # 扇-貝-編-程
# 字符串
'-'.join('扇貝編程') # 扇-貝-編-程
strip()
用于移除字符串開(kāi)頭和結(jié)尾指定的字符(默認(rèn)為空字符)或字符序列。當(dāng)傳入一個(gè)字符串時(shí)咙咽,會(huì)將傳入字符串中每個(gè)字符依次移除老玛。
' 扇貝編程 '.strip() # '扇貝編程'
'~~扇貝編程~~'.strip('~') # '扇貝編程'
'~~扇貝~~編程~~'.strip('~') # '扇貝~~編程'
'_~_扇貝編程_~~'.strip('~_') # '扇貝編程'
定位與替換方法
count()
用于統(tǒng)計(jì)字符串中某個(gè)字符串出現(xiàn)的次數(shù)。第一個(gè)參數(shù)為要統(tǒng)計(jì)次數(shù)的字符串,后兩個(gè)可選參數(shù)為在字符串搜索的開(kāi)始與結(jié)束索引蜡豹。
'aabbcccd'.count('a') # 2
'aabbcccd'.count('ab') # 1
'aabbcccd'.count('e') # 0
'aabbcccd'.count('a', 2, 6) # 0
# 等同于 'bbcc'.count('a')
'aabbcccd'.count('c', 2, 6) # 2
# 等同于 'bbcc'.count('c')
find()
用于檢測(cè)字符串中是否包含子字符串麸粮,如果包含子字符串返回第一次出現(xiàn)的索引值,否則返回 -1镜廉。第一個(gè)參數(shù)為要查找的子字符串弄诲,后兩個(gè)可選參數(shù)為在字符串搜索的開(kāi)始與結(jié)束索引。
'abc'.find('b') # 1
'abcabc'.find('b') # 1
'abcabc'.find('d') # -1
'abcbcdabc'.find('bcd') # 3
'abcabc'.find('b', 1, 2) # 1
'abcabc'.find('b', 2, 3) # -1
replace()
用于將字符串中的指定字符串替換成別的字符串娇唯。第一個(gè)參數(shù)為被替換字符串齐遵,第二個(gè)參數(shù)為替換字符串,第三個(gè)可選參數(shù)為替換的最多次數(shù)视乐,默認(rèn)為無(wú)限次洛搀。
'abcd'.replace('b', 'e') # 'aecd'
'abbbcbd'.replace('b', 'e') # 'aeeeced'
'abbbcbd'.replace('bb', 'e') # 'aebcbd'
'abbbcbd'.replace('b', 'e', 2) # 'aeebcbd'
格式化輸出方法
除了之前說(shuō)的使用 % 運(yùn)算符 進(jìn)行字符串格式化輸出,我們還可以使用字符串的 format() 方法達(dá)到同樣的效果佑淀。
'我叫{}留美,今年 {} 歲,來(lái)自{}'.format('小貝', 18, '南京')
# 我叫小貝伸刃,今年 18 歲谎砾,來(lái)自南京
從上面的例子可以看到,format() 方法使用 {} 作為占位符捧颅,然后按照參數(shù)順序替換對(duì)應(yīng)的占位符景图。
我們還可以給占位符編號(hào):
'我叫{0},今年 {1} 歲碉哑,來(lái)自{2}'.format('小貝', 18, '南京')
# 我叫小貝挚币,今年 18 歲,來(lái)自南京
# 調(diào)整編號(hào)順序
'我叫{2}扣典,今年 {1} 歲妆毕,來(lái)自{0}'.format('南京', 18, '小貝')
# 我叫小貝,今年 18 歲贮尖,來(lái)自南京
# 重復(fù)編號(hào)
'我叫{0}笛粘,{0}今年 {1} 歲,來(lái)自{2}'.format('小貝', 18, '南京')
# 我叫小貝湿硝,小貝今年 18 歲薪前,來(lái)自南京
我們還可以給占位符命名:
'我叫{name},今年 {age} 歲关斜,來(lái)自{city}'.format(name = '小貝', age = 18, city = '南京')
# 我叫小貝示括,今年 18 歲,來(lái)自南京
# 命名后參數(shù)順序不再重要
'我叫{name}蚤吹,今年 {age} 歲例诀,來(lái)自{city}'.format(age = 18, city = '南京', name = '小貝')
# 我叫小貝随抠,今年 18 歲裁着,來(lái)自南京