做者博文地址:https://www.cnblogs.com/liu-shuai/git
Python字符串的經常使用操做包括如下但不限於如下操做:api
1 字符串的替換、刪除、切片、複製、鏈接、比較、查找、分割等
如下將對字符串的內置操做方法進行總結,並以實力展現。this
1 使用type獲取建立對象的類 type(name) 2 使用dir獲取類的成員dir(name) 3 使用vars獲取類的成員和各個成員的值
capitalize編碼
1 功能:字符串首字母大寫
2 語法:s.capitalize() -> string
3 name = 'spiritman' 4 name.capitalize() 5 結果:'Spiritmans'
casefoldspa
1 功能:字符串首字母小寫
2 語法:s.casefold() -> string 3 name = 'SpiritMan' 4 name.casefold() 5 結果:'spiritMan'
centercode
1 功能:字符串寬度填充。使用原有字符串+填充字符構成指定長度的新的字符串
2 語法:S.center(width[, fillchar]) -> string 3 name = 'spiritman' 4 name.center(13) 5 結果:' spiritman ' #默認以空格填充 6 name.center(14,'*') 7 結果:'***spiritman**' 8 ################################################################### 9 功能:字符串居中。以'*'分割(20位新產生字符串的總寬度) 10 name = 'spiritman' 11 name.center(15,'*') 12 結果:'***spiritman***'
countorm
1 功能:統計某個字符或子序列在字符串中出現的次數,或在字符串指定區間內完成上述操做
2 語法:S.count(sub[, start[, end]]) -> int 3 name = 'spiritman' 4 name.count('i') 5 結果:2 6 name.count('h',1,3) #從索引值0-3範圍的字符中統計'h'出現的次數 7 結果:1 8 9 name.count('rit') #統計子序列rit出現的次數
10 結果:1
encode對象
1 功能:對字符串進行編碼操做
2 語法:S.encode([encoding[,errors]]) -> object
3 name = 'spiritman' 4 name.encode() 5 結果:'spiritman' 6 7 功能:轉換字符串的編碼 8 name = '精靈旅社' 9 name.encode('gbk') 10 結果:'\xc4\xcf\xb7\xc7\xb2\xa8\xb2\xa8'
endswithblog
1 功能:判斷字符串是否以某個字符或子序列結尾的,返回值爲布爾型
2 語法:S.endswith(suffix[, start[, end]]) -> bool 3 name = 'spiritman' 4 name.endswith('s') 5 結果:False 6 name.endswith('n') 7 結果:True 8 name.endswith('man') 9 結果:True
expandtabs索引
1 功能:將製表符'\t'轉換成指定寬度的tab鍵分割,默認tabsize=8
2 語法:S.expandtabs([tabsize]) -> string 3 name = 'spirit\tman' 4 name.expandtabs() 5 結果:'spirit man' 6 name.expandtabs(4) 7 結果:'spirit man'
find
1 功能:在字符串中查找指定字符串,找到則返回其索引值,找不到返回-1
2 語法:s.find(sub [,start [,end]]) -> int 3 name = 'spiritman' 4 name.find('s') 5 結果:0 6 name.find('i') 7 結果:2 8 name.find('m',1,4) 9 結果:-1
format
1 功能:格式化輸出字符串 2 語法:S.format(*args, **kwargs) -> string 3 test = 'I\'m {},{}' 4 test.format('spiritman',' Welcome') 5 結果: "I'm spiritman,Welcome"
index
1 功能:在字符串中查找指定的字符串,找到則返回索引值,找不到時報錯 2 語法:S.index(sub [,start [,end]]) -> int 3 name = 'spiritman' 4 name.index('r') 5 結果:3 6 name.index('rit') 7 結果:3
join
1 功能:字符串鏈接 2 語法:S.join(iterable) -> string 3 name = 'spiritman' 4 '*'.join(name) 5 結果:'s*p*i*r*i*t*m*a*n'
isalnum
1 功能:檢查判斷字符串是否包含字母數字字符 2 語法: S.isalnum() -> bool 3 name = 'spiritman' 4 name.isalnum() 5 結果:True
isalpha
1 功能:檢查字符串是否只由字母組成 2 語法:S.isalpha() -> bool 3 name = 'spiritman1' 4 name.isalpha() 5 結果:False
isdecimal
1 功能:檢查字符串是否只包含十進制字符。該方法只存在於unicode對象 2 語法:S.isdecimal() -> bool 3 name = 'spiritman' 4 name.isdecimal() 5 結果:False
isdigit
1 功能:檢測字符串是否只由數字組成 2 語法:S.isdigit() -> bool 3 num = '21312414' 4 num.isdigit() 5 結果:True
isspace
1 功能:檢測字符串是否爲空格 2 語法:S.isspace() -> bool 3 name = ' ' 4 name.isspace() 5 結果:True 6 test = 'spiritman' 7 test.isspace() 8 結果:False
istitle
1 功能:判斷字符串是否適合當作標題(即每一個單詞首字母大寫) 2 語法:S.istitle() -> bool 3 s1 = 'A People' 4 s2 = 'a people' 5 s1.istitle() 6 結果:True 7 s2.istitle() 8 結果:False
isupper
1 功能:判斷字符串中全部字母字符是否都是大寫字母 2 語法:S.isupper() -> bool 3 name = 'spiritman' 4 NAME = 'SPIRITMAN' 5 name.isupper() 6 結果:False 7 NAME.isupper() 8 結果:True
ljust
1 功能:返回一個以原字符串左對齊,並使用空格填充至指定長度的新字符串。若是指定的長度小於原字符串的長度則返回原字符串 2 語法:S.ljust(width[, fillchar]) -> string 3 width #指定字符串長度 4 fillchar #填充字符,默認空格 5 name = 'spiritman' 6 name.ljust(20.'*') 7 結果:'spiritman***********'
lower
1 功能:將全部的字母轉換成小寫 2 語法:S.lower() -> string 3 name = 'SpiritMan' 4 name.lower() 5 結果:'spiritman'
lstrip
1 功能:刪除字符串左邊指定的字符,默認爲空格 2 語法:S.lstrip([chars]) -> string or unicode 3 name = ' spiritman ' 4 name1 = 'xxxspiritmanxxx' 5 name.lstrip() 6 結果:'spiritman ' 7 name1.lstrip('x') 8 結果:'spiritmanxxx'
rstrip
1 功能:刪除字符串右邊指定的字符,默認爲空格 2 語法:S.rstrip([chars]) -> string or unicode 3 name = ' spiritman ' 4 name1 = 'xxxspiritmanxxx' 5 name.rstrip() 6 結果:' spiritman' 7 name1.rstrip('x') 8 結果:'xxxspiritman'
strip
1 功能:刪除字符串兩邊指定的字符,默認爲空格 2 語法:S.strip([chars]) -> string or unicode 3 name = ' spiritman ' 4 name1 = 'xxxspiritmanxxx' 5 name.strip() 6 結果:'spiritman' 7 name1.strip('x') 8 結果:'spiritman'
partition
1 功能:根據指定的分隔符將字符串進行分割。若是字符串包含指定的分隔符,則返回一個3元的元組,第一個爲分隔符左邊的子串,第二個爲分隔符自己,第三個爲分隔符右邊的子串。 2 語法:S.partition(sep) -> (head, sep, tail) 3 sep = 'rit' 4 name = 'spiritman' 5 name.partition(sep) 6 結果:('spi','rit','man')
replace
1 功能:字符串替換。若指定參數count,則替換不超過count次 2 語法: S.replace(old, new[, count]) -> string 3 參數: old -----將被替換的子字符串 4 new ---- 新字符串,用於替換old字符串 5 count--- 可選參數,替換不超過count次 6 str = 'this is a test file....wow!!! this is a realy file' 7 str.replace('is','was') 8 結果:'thwas was a test file....wow!!! thwas was a realy file' 9 str.replace('is','was',3) 10 結果:'thwas was a test file....wow!!! thwas is a realy file'
split
1 功能:字符串切割,默認空格 2 語法: S.split([sep [,maxsplit]]) -> list of strings 3 name = 'spiritman' 4 name.split() 5 結果:['spiritman'] 6 name.split('i') 7 結果:['sp', 'r', 'tman']
__add__
1 功能:在字符串後面添加指定的字符或字符串 2 name = 'spiritman' 3 str = 'liu' 4 name.__add__('s') 5 結果:'spiritmans' 6 name.__add__(str) 7 結果:'spiritmanliu'
__contains__
1 功能:判斷指定字符串是否包含在字符串中,返回值爲True和False 2 name = 'spiritman' 3 name.__contains__('i) 4 結果:True
__eq__
1 功能:判斷字符串是否相等,返回值爲True和False 2 str1 = 'spiritman' 3 str2 = 'spiritmans' 4 str1.__eq__(str2) 5 結果:False