python序列之字符串


注:本文僅介紹字符串的一些常用的方法

 

因為字符串屬於不可變序列,所以方法中對字符串的修改,都是靠返回一個新字符串來實現的,並沒有對老字符串產生影響

 

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方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM