python字符串的一些常見(jiàn)實(shí)用操作
切片——str[start:end]
str1 = ' python str ' #切片 print(str1[3:6]) # str[start:end](下標(biāo)從 0 開(kāi)始)從下標(biāo)為start開(kāi)始算起,切取到下標(biāo)為 end-1 的元素,切取的區(qū)間為 [start, end) print(str1[2:8:2]) # str[start:end:step],取 [start, end) 之間的元素,每隔 step 個(gè)取一個(gè) print(str1[2:9:2])
tho
yhn
yhns
字符串長(zhǎng)度——len(str)
str1 = "aBCd Efgh ijK LmN" print(len(str1)) # 返回字符串的長(zhǎng)度
17
重復(fù)字符串 ——1、str * n,2、n * str
#重復(fù)字符串 1、str * n,2、n * str, n為一個(gè) int型的數(shù)字 str1 = ' python str ' print(str1*2) print(3*str1)
python str python str
python str python str python str
查找某個(gè)字符 or 某個(gè)字符子串在不在原字符串中
1、in 關(guān)鍵字
# in 關(guān)鍵字 str1 = ' python str ' print('p' in str1) print('py' in str1) print('py' not in str1)
True
True
False
2、find函數(shù)
# str.find(str, start=0, end=len(string)) 如果包含子字符串返回開(kāi)始的索引值,否則返回-1。 str1 = ' python str ' str2 = "python" print(str1.find(str2)) print(str1.find(str2, 1)) print(str1.find(str2, 5))
1
1
-1
3、index函數(shù)
# str.index(str, start=0, end=len(string)) 如果包含子字符串返回開(kāi)始的索引值,否則拋出異常。 str1 = ' python str ' str2 = "python" print(str1.index(str2)) print(str1.index(str2, 1)) print(str1.index(str2, 5))
1
1Traceback (most recent call last):
File “E:/李明/pycharmProject/深度學(xué)習(xí)入門(mén)/main.py”, line 27, in
print(str1.index(str2, 5))
ValueError: substring not found
4、rfind函數(shù)
str11 = " python str python str " str2 = "python" print(str11.rfind(str2)) print(str11.rfind(str2,10,len(str11))) # str.rfind(substr, start,end) 類(lèi)似于 find()函數(shù),不過(guò)是從右邊開(kāi)始查找.
5、rindex函數(shù)
str11 = " python str python str " str2 = "python" print(str11.rindex(str2)) # str.rindex(substr, start,end)類(lèi)似于 index(),不過(guò)是從右邊開(kāi)始. print(str11.rindex(str2,10,len(str11)))
字符串中某字符(子字符串)的數(shù)量——str.count(sub, start= 0,end=len(string))
str = "li hua shi ge huai hai zi" print(str.count('i', 0, 15)) # str.count(sub, start= 0,end=len(string)) print(str.count('i')) print(str.count('shi'))
2
5
1
去除空格——str.strip()、str.lstrip()、str.rstrip()
str1 = ' python str ' print (str1) print (str1.strip()) # 去首尾空格 print (str1.lstrip()) # 去左側(cè)空格 print (str1.rstrip()) # 去右側(cè)空格
結(jié)果:
分割字符串——str.split()
str1 = '1 , 2 , 3 , 4 , 5' print (str1.split()) # 默認(rèn)使用空格分隔 print (str1.split(' ')) # 指定使用空格進(jìn)行分隔,首尾如果有空格,則會(huì)出現(xiàn)在結(jié)果中 print (str1.split(',')) # 指定其他字符串進(jìn)行分隔,指定,分割 print (str1.split('3 ,')) # 指定 3 , 分割
[‘1’, ‘,’, ‘2’, ‘,’, ‘3’, ‘,’, ‘4’, ‘,’, ‘5’]
[‘1’, ‘,’, ‘2’, ‘,’, ‘3’, ‘,’, ‘4’, ‘,’, ‘5’]
['1 ', ’ 2 ', ’ 3 ', ’ 4 ‘, ’ 5’]
['1 , 2 , ‘, ’ 4 , 5’]
以 str 為分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 maxsplit 次
str1 = '1 , 2 , 3 , 4 , 5' print (str1.split(',')) # 指定其他字符串進(jìn)行分隔,指定,分割 print (str1.split(',',3))
['1 ', ’ 2 ', ’ 3 ', ’ 4 ‘, ’ 5’]
['1 ', ’ 2 ', ’ 3 ‘, ’ 4 , 5’]
替換字符串——str.replace(old, new, max)
# str.replace(old, new, max) 字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個(gè)參數(shù)max,則替換不超過(guò) max 次。 str1 = "li hua shi ge huai hai zi,li hua shi ge huai hai zi" print(str1.replace("ai", "PL")) print(str1.replace("ai", "PL", 3))
li hua shi ge huPL hPL zi,li hua shi ge huPL hPL zi
li hua shi ge huPL hPL zi,li hua shi ge huPL hai zi
判斷字符串是否以指定前綴、后綴結(jié)尾
是否是指定前綴——str.startswith(str, start=0,end=len(string))
# str.startswith(str, start=0,end=len(string)),檢查字符串[start,end)以指定子字符串開(kāi)頭,如果是則返回 True,否則返回 False str1 = "this is string example....wow!!!" print(str1.startswith('this')) print(str1.startswith('is', 2, 4)) print(str1.startswith('his', 1, 3))
True
True
False
是否是指定后綴——str.endswith(suffix, start, end)
# str.endswith(suffix, start, end),檢查字符串[start,end)以指定后綴結(jié)尾,是返回True,否則返回False str1 = "this is string example....wow!!!" str2 = "wow!!!" print (str1.endswith(str2)) # True print (str1.endswith(str2,20)) # True str2 = "is" print (str1.endswith(str2, 2, 4)) # True print (str1.endswith(str2, 2, 6)) # False print (str1.endswith(str2, 2, 7)) # True
True
True
True
False
True
將字符串的第一個(gè)字母變成大寫(xiě),其他字母變小寫(xiě)——str.capitalize()
str1 = "aBCd Efgh ijK LmN" print(str1.capitalize()) # 將字符串的第一個(gè)字母變成大寫(xiě),其他字母變小寫(xiě)
Abcd efgh ijk lmn
轉(zhuǎn)換字符串中所有大寫(xiě)字符為小寫(xiě),將字符串中的小寫(xiě)字母轉(zhuǎn)為大寫(xiě)字母——str.lower()、str.upper()
str1 = "aBCd Efgh ijK LmN" print(str1.lower()) # 轉(zhuǎn)換字符串中所有大寫(xiě)字符為小寫(xiě) print(str1.upper()) # 將字符串中的小寫(xiě)字母轉(zhuǎn)為大寫(xiě)字母
abcd efgh ijk lmn
ABCD EFGH IJK LMN
對(duì)字符串的大小寫(xiě)字母進(jìn)行轉(zhuǎn)換——str.swapcase()
str1 = "aBCd Efgh ijK LmN" print(str1.swapcase()) # 對(duì)字符串的大小寫(xiě)字母進(jìn)行轉(zhuǎn)換
AbcD eFGH IJk lMn
返回字符串 str 中最?。ù螅┑淖帜?( ASCII碼比大?。?mdash;—max(str)、min(str)
str1 = "aBCd Efgh ijK LmN" print(max(str1)) # 返回字符串 str 中最大的字母 print(min(str1)) # 返回字符串 str 中最小的字母 此實(shí)例是空格最小 ASCII碼
m
(空格最小)
把字符串的每個(gè)單詞首字母大寫(xiě)——str.title()
str1 = "aBCd Efgh ijK LmN" print(str1.title()) # 把字符串的每個(gè)單詞首字母大寫(xiě)
Abcd Efgh Ijk Lmn
檢測(cè)字符串組成
檢測(cè)數(shù)字——str.isdigit()、str.isnumeric()、str.isdecimal()
str1 = "123456" print(str1.isdigit()) # 檢測(cè)字符串是否只由數(shù)字組成 print(str1.isnumeric()) # 檢測(cè)字符串是否只由數(shù)字組成,這種方法是只針對(duì)unicode對(duì)象 print(str1.isdecimal()) # 檢查字符串是否只包含十進(jìn)制字符。這種方法只存在于unicode對(duì)象
檢測(cè)字母——str.isalpha()
str1 = "abcd" print(str1.isalpha()) # 檢測(cè)字符串是否只由字母組成
檢測(cè)字母和數(shù)字——str.isalnum()
str1 = "123456abcd" print(str1.isalnum()) # 檢測(cè)字符串是否由字母和數(shù)字組成
檢測(cè)其他
str.isspace() # 檢測(cè)字符串是否只由空格組成 str.islower() # 檢測(cè)字符串是否由小寫(xiě)字母組成 str.isupper() # 檢測(cè)字符串中所有的字母是否都為大寫(xiě) str.istitle() # 檢測(cè)字符串中所有的單詞拼寫(xiě)首字母是否為大寫(xiě),且其他字母為小寫(xiě)
這幾個(gè)就不舉例子了
填充字符串 (左填充、右填充、居中填充)——str.rjust(width)、str.rjust(width)、str.rjust(width)
str1 = "abcd" print(str1.ljust(10)) # str.rjust(width) 返回一個(gè)原字符串左對(duì)齊,并使用空格填充至長(zhǎng)度 width 的新字符串 print(str1.rjust(10)) # str.rjust(width) 返回一個(gè)原字符串右對(duì)齊,并使用空格填充至長(zhǎng)度 width 的新字符串 print(str1.center(10)) # str.rjust(width) 返回一個(gè)原字符串居中,并使用空格填充至長(zhǎng)度 width 的新字符串
abcd
abcd
abcd
把字符串分割成三部分,子字符串前的、子字符串、子字符串后的——str.partition(substr)、str.rpartition(substr)
str1 = "abcdefghijklmnabcdefghijklmn" str2 = "efg" print(str1.partition(str2)) # str.partition(substr) 返回一個(gè)3元的元組,第一個(gè)為分隔符左邊的子串,第二個(gè)為分隔符本身,第三個(gè)為分隔符右邊的子串。 print(str1.rpartition(str2)) #類(lèi)似于 partition()函數(shù),不過(guò)是從右邊開(kāi)始
(‘abcd’, ‘efg’, ‘hijklmnabcdefghijklmn’)
(‘abcdefghijklmnabcd’, ‘efg’, ‘hijklmn’)
join函數(shù)
# str.join()方法用于將序列中的元素以指定的字符連接生成一個(gè)新的字符串。 str = '-' seq = ("a", "b", "c"); # 字符串序列 print(str.join(seq)) # 'a-b-c'
a-b-c
總結(jié)
到此這篇關(guān)于python字符串的一些常見(jiàn)實(shí)用操作的文章就介紹到這了,更多相關(guān)python字符串操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python中字符串的常見(jiàn)操作技巧總結(jié)
- Python常見(jiàn)字符串操作函數(shù)小結(jié)【split()、join()、strip()】
- Python字符串的常見(jiàn)操作實(shí)例小結(jié)
- Python基礎(chǔ)之字符串常見(jiàn)操作經(jīng)典實(shí)例詳解
- Python 5種常見(jiàn)字符串去除空格操作的方法
- python字符串常見(jiàn)使用操作方法介紹
- python中字符串String及其常見(jiàn)操作指南(方法、函數(shù))
- python中字符串的常見(jiàn)操作總結(jié)(一)
- ?python中字符串的常見(jiàn)操作總結(jié)(二)
相關(guān)文章
pip install python 快速安裝模塊的教程圖解
這篇文章主要介紹了pip install python 如何快速安裝模塊,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10對(duì)python3中的RE(正則表達(dá)式)-詳細(xì)總結(jié)
今天小編就為大家分享一篇對(duì)python3中的RE(正則表達(dá)式)-詳細(xì)總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python學(xué)習(xí)之用pygal畫(huà)世界地圖實(shí)例
這篇文章主要介紹了Python學(xué)習(xí)之用pygal畫(huà)世界地圖實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12Python調(diào)用百度AI實(shí)現(xiàn)顏值評(píng)分功能
這篇文章主要介紹了應(yīng)用百度AI的人臉識(shí)別功能對(duì)年齡、性別、顏值等進(jìn)行識(shí)別,代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的朋友跟隨小編一起看看吧2021-11-11Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作示例
這篇文章主要介紹了Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作,涉及Python數(shù)學(xué)運(yùn)算及顯示相關(guān)操作技巧,注釋備有詳盡的說(shuō)明,需要的朋友可以參考下2017-07-07Python多進(jìn)程庫(kù)multiprocessing中進(jìn)程池Pool類(lèi)的使用詳解
這篇文章主要介紹了Python多進(jìn)程庫(kù)multiprocessing中進(jìn)程池Pool類(lèi)的使用詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11Django項(xiàng)目定期自動(dòng)清除過(guò)期session的2種方法實(shí)例
如果用戶主動(dòng)退出,session會(huì)自動(dòng)清除,如果沒(méi)有退出就一直保留,記錄數(shù)越來(lái)越大,要定時(shí)清理沒(méi)用的session,下面這篇文章主要給大家介紹了關(guān)于Django項(xiàng)目定期自動(dòng)清除過(guò)期session的2種方法,需要的朋友可以參考下2022-08-08