python字符串的一些常見實(shí)用操作
切片——str[start:end]
str1 = ' python str ' #切片 print(str1[3:6]) # str[start:end](下標(biāo)從 0 開始)從下標(biāo)為start開始算起,切取到下標(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)) 如果包含子字符串返回開始的索引值,否則返回-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)) 如果包含子字符串返回開始的索引值,否則拋出異常。 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í)入門/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) 類似于 find()函數(shù),不過是從右邊開始查找.
5、rindex函數(shù)
str11 = " python str python str " str2 = "python" print(str11.rindex(str2)) # str.rindex(substr, start,end)類似于 index(),不過是從右邊開始. 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,則替換不超過 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)以指定子字符串開頭,如果是則返回 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è)字母變成大寫,其他字母變小寫——str.capitalize()
str1 = "aBCd Efgh ijK LmN" print(str1.capitalize()) # 將字符串的第一個(gè)字母變成大寫,其他字母變小寫
Abcd efgh ijk lmn
轉(zhuǎn)換字符串中所有大寫字符為小寫,將字符串中的小寫字母轉(zhuǎn)為大寫字母——str.lower()、str.upper()
str1 = "aBCd Efgh ijK LmN" print(str1.lower()) # 轉(zhuǎn)換字符串中所有大寫字符為小寫 print(str1.upper()) # 將字符串中的小寫字母轉(zhuǎn)為大寫字母
abcd efgh ijk lmn
ABCD EFGH IJK LMN
對(duì)字符串的大小寫字母進(jìn)行轉(zhuǎn)換——str.swapcase()
str1 = "aBCd Efgh ijK LmN" print(str1.swapcase()) # 對(duì)字符串的大小寫字母進(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
(空格最?。?/p>
把字符串的每個(gè)單詞首字母大寫——str.title()
str1 = "aBCd Efgh ijK LmN" print(str1.title()) # 把字符串的每個(gè)單詞首字母大寫
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è)字符串是否由小寫字母組成 str.isupper() # 檢測(cè)字符串中所有的字母是否都為大寫 str.istitle() # 檢測(cè)字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫
這幾個(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)) #類似于 partition()函數(shù),不過是從右邊開始
(‘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字符串的一些常見實(shí)用操作的文章就介紹到這了,更多相關(guān)python字符串操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch使用tensorboardX進(jìn)行l(wèi)oss可視化實(shí)例
今天小編就為大家分享一篇pytorch使用tensorboardX進(jìn)行l(wèi)oss可視化實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python學(xué)習(xí)之圖片濾鏡效果的實(shí)現(xiàn)
濾鏡效果是圖像處理中常用的一種技術(shù),可以用來增強(qiáng)圖像的視覺效果,實(shí)現(xiàn)不同的效果,本文就來利用Python中的Image模塊實(shí)現(xiàn)常見的幾個(gè)圖片濾鏡吧2023-05-05
Python進(jìn)階Matplotlib庫(kù)圖繪制
這篇文章主要介紹了Python進(jìn)階Matplotlib庫(kù)圖繪制,Matplotlib:是一個(gè)Python的2D繪圖庫(kù),通過Matplotlib,開發(fā)者可以僅需要幾行代碼,便可以生成折線圖,直方圖,條形圖,餅狀圖,散點(diǎn)圖等2022-07-07
python使用opencv resize圖像不進(jìn)行插值的操作
這篇文章主要介紹了python使用opencv resize圖像不進(jìn)行插值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07

