注:本文僅介紹字符串的一些常用的方法
因為字符串屬於不可變序列,所以方法中對字符串的修改,都是靠返回一個新字符串來實現的,並沒有對老字符串產生影響
1、尋找文本:在字符串中,從左開始尋找自己想要的文本
str1.find(string,[startindex],[endindex]) #可選參數為開始和結束的索引
查找成功返回所處索引,失敗返回-1
同類方法:
str1.index()
查找成功返回索引,失敗拋出錯誤
2、倒找文本:在字符串中,從右開始尋找自己想要的文本
str1.rfind() #參數同上
查找成功返回所處索引,失敗返回-1
同類方法:
str1.rindex()
查找成功返回索引,失敗拋出錯誤
3、取部分文本
取文本左邊
提供長度:str1[:ls]
提供字符串:str1[:str1.index(string)]
取文本右邊
提供長度:str1[len(str1)-ls:]
提供字符串:str1[str1.rindex(string)+1:]
取文本中間
提供起始索引:str1[startindex:endindex]
提供起始字符串:str1[str1.index(starstring)+1:str1.rindex(endstring)]
4、連接成字符串:把列表連接成字符串
string.join(list)
str1 = '+' #此為連接符
list1 = ['1','2','3'] #注意,該列表的成員必須是string
打印結果:1+2+3
5、分割字符串到列表
string.split([fgstring],[fgcount])
默認無參是用空格進行分割
第二個參數是可選的分割次數
注:分割1次是生成2個成員,2次是3個
返回結果是列表
注:split方法與join互為逆運算
6、查找字符串並替換
str1.replace(x,y,[z])
查找到x,全部替換成y
參數z為可選參數,替換次數,為空的情況下默認全部替換
想同時替換多個值,有一個新的方法
str1.translate(table) #參數是一個替換表
下面介紹替換表生成的方法
from string import maketrans
table1 = maketrans('a','a') #這是一個包含256個字符的原始替換表
str1.translate(table1) #這樣就可以替換了
注:如果需要同時替換多個,可以在生成替換表的時候修改
table1 = maketrans('ac','bk') #a 替換 b ,c 替換成 k
7、空格處理
str1.strip([s]) #刪首尾空,可以使用指定參數,刪除首尾指定參數
str1.lstrip([s]) #刪左首空,同上
str1.rstrip([s]) #刪右首空,同上
注:如果需要刪除中間的空格,則只能使用其他的方法
a、替換方法
str1.replace(' ','') #替換中間所有空格
b、分割方法
''.join(str1.split())
c、正則方法
通過sub匹配替換
8、字母轉換
常用字母轉換
str1.lower() 轉換成小寫字母
str1.upper() 轉換成大寫字母
str1.swapcase() 大小寫互換
str1.title() 轉換為首字母大寫,其他字母小寫
對應的字母判斷方法
str1.islower() #判斷小寫
str1.isupper() #判斷大寫
str1.istitle() #判斷單詞首字母大寫
判斷字符串的開頭和結尾
str1.startwith(string) #判斷是否以當前string開頭
str1.endwith(string) #判斷是否以當前string結尾
返回值:邏輯型
9、字符串格式化
單個參數格式化
print '%s是一個好人'%'張三'
兩個參數
print '%s是一個%s'%('李四','壞人')
注:傳遞多個參數時需要使用到元組,且必須加括號
常用格式化字符串
%s 格式化字符串,可以提供字符串和int
%d 格式化字符串,可以提供數值類型,非int會被強轉成int
%x 格式化字符串,可以提供數值類型,非int會被轉成int,結果強轉成16進制
未完待續,下一篇將會專門介紹字符串的decode和encode方法