《Python学习之路 -- 字符串的方法》
在前面已經提到Python中的字符串了,本文來列舉介紹字符串的方法,我將字符串的方法分為以下幾類:
①查詢方法
str.find(target,start=None,end=None)
該方法用于查詢字符串str中是否含有target,如果有,則返回target在這個字符串中首次出現的首字符的索引(從左往右檢索),如果沒有,則返回 -1 ,第二個參數和第三個參數用于指定查詢的區域,包括開始索引,不包括結束索引(左閉右開)。
my_str = 'hello jonas' result = my_str.find('o') # 從左往右查找,找到字符o則返回它的下標索引,后面的o則不會被檢索 print(result) # 輸出 4 result = my_str.find('o',5) # 從字符串下標索引為5(包括)開始查找,如果不寫結束索引則默認查找到字符串的最后一個字符 print(result) # 輸出 7?
str.rfind(target,start=None,end=None)
?該方法與find()基本一致,不同的是檢索的方向是從右往左
my_str = 'hello jonas' result = my_str.rfind('o') print(result) # 輸出 7?
?str.index(target,start=None,end=None)
該方法與find()基本一致,不同的是該方法查詢不到結果則會報錯
my_str = 'hello jonas' result = my_str.find('w') print(result) # 輸出 -1 result = my_str.index('w') print(result) # 查詢不到結果,程序報錯?
?str.rindex(target,start=None,end=None)
該方法與index()基本一致,不同的是檢索的方向是從右往左
my_str = 'hello jonas' result = my_str.find('o') print(result) # 輸出 4 result = my_str.rindex('o') print(result) # 輸出 7?
②截取方法
str.split(sep=None,maxsplit=-1)
該方法兩個參數都有默認值,也就以為該方法可以不傳實參直接調用,默認參數的情況下,該方法會將字符串中所有出現空格、制表符 \t 和換行符 \n 的地方打斷,將剩下的所有字符串片段存放到一個列表中,并將這個列表返回;第一個參數sep代表截取字符串,如果指定了這個參數,則會按照這個指定的字符串去打斷字符串str,將剩下的字符片段塞存放到一個列表中,返回這個列表;第二個參數是指定最大打斷次數,默認值是-1代表無限。
my_str = 'hello jonas\thow are you\ni am fine' # 默認情況下按照空格,制表符和換行符分隔 result = my_str.split() print(result) # 輸出:['hello', 'jonas', 'how', 'are', 'you', 'i', 'am', 'fine'] my_str2 = 'hello jonas' # 按照字符'o'拆分字符串 result = my_str2.split('o') print(result) # 輸出:['hell', ' j', 'nas'] # 按照字符'o'拆分字符串,并且最多拆分一次(從左往右檢索) result = my_str2.split('o',1) print(result) # 輸出:['hell', ' jonas']?
str.rsplit(sep=None,maxsplit=-1)
該方法與split()基本一致,不同的是檢索的方向是從右往左
my_str2 = 'hello jonas' # 從左往右檢索 result = my_str2.split('o',1) # 從右往左檢索 result2 = my_str2.rsplit('o',1) print(result,result2) # 輸出:['hell', ' jonas'] ['hello j', 'nas']?
str.partition(sep)
該方法也用于拆分字符串,與split()方法不同的是,該方法沒有默認值,所以必須要指定拆分依據的字符串sep,如果不指定則會報錯;除此以外,該方法必定會將字符串str分為三部分,第一部分是拆分字符串sep的前面,第二部分是拆分字符串sep本身,第三部分是拆分字符串sep后面,并將這三部分存放在一個元組中,結果返回這個元組。
my_str = 'hello jonas' # 從左往右檢索 result = my_str.partition('o') print(result) # 輸出:('hell', 'o', ' jonas')?
str.rpartition(sep)
該方法與partition()基本一致,不同的是檢索的方向是從右往左
my_str = 'hello jonas' # 從右往左檢索 result = my_str.rpartition('o') print(result) # 輸出:('hello j', 'o', 'nas')?
③檢查方法
str.startswith(prefix,start=None,end=None)
該方法用于檢查字符串片段(默認是整個字符串)是否以prefix開頭,如果是則返回True,否則返回False;第二和第三個參數用于指定檢索區間。
my_str = 'hello jonas' # 檢查是否以he開頭,默認檢查整個字符串 result = my_str.startswith('he') print(result) # 輸出:True # 從字符串的下標索引為6開始,是否以jonas開頭 result = my_str.startswith('jonas',6) print(result) # 輸出:True?
str.endswith(suffix,start=None,end=None)
該方法用于檢查字符串片段(默認是整個字符串)是否以suffix結尾,如果是則返回True,否則返回False;第二和第三個參數用于指定檢索區間。
my_str = 'hello jonas' # 檢查是否以s結尾,默認檢查整個字符串 result = my_str.endswith('s') print(result) # 輸出:True # 從字符串的下標索引為6開始,是否以as結尾 result = my_str.endswith('as',6) print(result) # 輸出:True?
str.isalnum( )
該方法用于檢查字符串str是否只包含數字或字母
my_str = 'hello jonas' my_str2 = '你好,jonas' my_str3 = 'hello' # 檢查是否只包含數字或字母,但不能有空格,漢字 result = my_str.isalnum() result2 = my_str2.isalnum() result3 = my_str3.isalnum() print(result,result2,result3) # 輸出:False False True?
str.isalpha( )
檢查字符串str是否是一個連續并且只包含字母或中文的字符串,如果是,則返回True,否則返回False
?
str.isdigit( )
檢查字符串str是否只包含數字(包括十進制數字和小圓圈數字),如果是,則返回True,否則返回False
my_str = '123' my_str2 = '①②③' my_str3 = '一二三' # 檢查是否只包含十進制數字或小圓圈數字 result = my_str.isdigit() result2 = my_str2.isdigit() result3 = my_str3.isdigit() print(result,result2,result3) # 輸出:True True False?
str.isdecimal( )
檢查字符串str是否只包含數字(只包括十進制數字),如果是,則返回True,否則返回False
my_str = '123' my_str2 = '①②③' my_str3 = '一二三' # 檢查是否只包含十進制數字 result = my_str.isdecimal() result2 = my_str2.isdecimal() result3 = my_str3.isdecimal() print(result,result2,result3) # 輸出:True False False?
str.isnumeric( )
my_str = '123' my_str2 = '①②③' my_str3 = '一二三' # 檢查是否只包含數字(包括十進制數字、小圓圈數字和文字里面的數字) result = my_str.isnumeric() result2 = my_str2.isnumeric() result3 = my_str3.isnumeric() print(result,result2,result3) # 輸出:True True True?
str.isspace( ) 檢查字符串是否只包含空格,如果是,則返回True,否則返回False?
str.islower( ) 與 str.isupper( )
檢查字符串是否只包含小寫/大寫
my_str = 'Hello' my_str2 = 'hello' result = my_str.isupper() result2 = my_str2.islower() print(result,result2) # 輸出 False True?
str.istitle( )
檢查字符串中是否每個單詞的首字母都是大寫
my_str = 'Hello Jonas' result = my_str.istitle() print(result) # 輸出 True?
④大小寫轉換方法
str.lower( )
將字符串轉換為小寫,該方法不會改變原字符串(因為字符串是不可變類型),而是生成一個新的字符串。
?
str.upper( )
將字符串轉換為大寫,該方法不會改變原字符串。
?
str.title( )
將字符串所有單詞的首字母轉為大寫,該方法不會改變原字符串。
?
str.capitalize( )
將字符串的第一個字符轉為大寫,該方法不會改變原字符串。
?
str.swapcase( )
將字符串中的所有大寫轉為小寫,所有小寫轉為大寫,該方法不會改變原字符串。
?
str.casefold( )
將字符串str中的所有內容轉換為某種對應關系,在某些國家的語言中有著某種對應關系的字符,比如常見的:將大寫轉為小寫(其他對應關系我也不了解-.-)。
my_str = 'Hello Jonas' result = my_str.lower() result2 = my_str.upper() result3 = my_str.title() result4 = my_str.capitalize() result5 = my_str.swapcase() result6 = my_str.casefold() print(result,result2,result3,result4,result5,result6) # 輸出: hello jonas HELLO JONAS Hello Jonas Hello jonas hELLO jONAS hello jonas?
⑤刪除方法
str.lstrip(chars=None)
該方法默認刪除字符串str左邊的空格,也可以指定刪除內容(一般用于去空格),該方法不會改變原字符串,而是生成一個新的字符串。
?
str.lstrip(chars=None)
該方法默認刪除字符串str左邊的空格,也可以指定刪除內容(一般用于去空格),該方法不會改變原字符串,而是生成一個新的字符串。
?
str.strip(chars=None)
該方法默認刪除字符串str左邊的空格,也可以指定刪除內容(一般用于去空格),該方法不會改變原字符串,而是生成一個新的字符串。
?
⑥對齊填充方法
str.center(width,fillchar=None)
給字符串指定一個長度width,并將str在這個長度居中,剩余空間由第二個參數填充,默認使用空格填充,該方法不會改變原字符串,而是生成一個新的字符串。
?
str.ljust(width,fillchar=None)
給字符串指定一個長度width,并將str在這個長度中左對齊,剩余空間由第二個參數填充,默認使用空格填充,該方法不會改變原字符串,而是生成一個新的字符串。
?
str.rjust(width,fillchar=None)
給字符串指定一個長度width,并將str在這個長度中右對齊,剩余空間由第二個參數填充,默認使用空格填充,該方法不會改變原字符串,而是生成一個新的字符串。
?
str.zfill(width)
該方法用于指定字符串長度,默認用字符0填充剩余空間。
my_str = 'hello jonas' result = my_str.center(30,'*') print(result) # 輸出: *********hello jonas********** result = my_str.ljust(30,'-') print(result) # 輸出:hello jonas------------------- result = my_str.rjust(30) print(result) # 輸出: hello jonas?
⑦其他方法
str.count(sub,start=None,end=None)
該方法用于統計sub在字符串片段中出現的次數,默認檢索整個字符串,但是通過第二和第三個參數可以指定檢索的區域,最后返回出現的次數。
my_str = 'hello jonas' result = my_str.count('o') print(result) # 輸出:2?
str.format(*args,**kwargs)
該方法用于格式化字符串
my_str = 'My name is {}, I am {} years old,I come from {} ' print(my_str.format('Jonas',18,'China')) # 輸出:My name is Jonas, I am 18 years old,I come from China my_str2 = '{0} {0} {1} {2}' print(my_str2.format('Jonas','Jack','Tom')) # 輸出:Jonas Jonas Jack Tom?
str.replace(old,new,count=None)
該方法用于替換字符串中的內容,將字符串中的old替換為new,第三個參數可以指定替換的次數,-1 表示將所有匹配項替換。同樣的,該方法不會改變原字符串,而是生成一個新的字符串。
my_str = 'hello jonas' result = my_str.replace('jonas','Jerry') print(result) # 輸出:hello Jerry轉載于:https://www.cnblogs.com/jonas-von/p/8922372.html
總結
以上是生活随笔為你收集整理的《Python学习之路 -- 字符串的方法》的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 解决android studio引用远程
- 下一篇: stixel world论文总结
