字符串的方法會返回一個新的值,不會改變原來的字符串的值;而字典和list是會改變原來的值得
定義一個字符串
s='a bccc '
1、去除空格
result=s.strip() #默認去掉字符串兩邊的空格和換行符 print(result) s1=s.strip('c') #如果傳了值,默認兩邊把傳的字符去掉 print(s1) print(s.lstrip()) #去除左邊空格 print(s.rstrip()) #去除右邊空格
2、統計關鍵詞的個數
print(s.count('c')) #統計關鍵詞的個數
3、找下標
print(s.index('c')) #找下標。當不存在會報錯;當存在相同的字符,會返回第一次的位置 print(s.find('c')) #找下標。當不存在時返回-1
4、字母大寫
print(s.capitalize()) #首字母大寫 print(s.upper()) #全部變成大寫。比如驗證碼的校驗,不區分大小寫 print(s.lower()) #全部變成小寫
5、字符替換
print(s.replace('4','e')) #將字符c替換成e,當替換的字符不存在不會報錯也不會替換 print(s.replace(' ','')) #將所有的空格都去掉,用一個空的字符替換空格 print(s.replace('c','fe',1)) #第三個參數說明需要替換幾處字符,如果不寫則全部替換
6、判斷以關鍵字開頭或結尾
print(s.endswith('.jpg')) #判斷是否以xxx結尾。比如上傳圖片是需要判斷是否以.jpg結尾 print('abc.jpg'.endswith('.jpg')) print(s.startswith('y')) #判斷是否以xxx開頭。 print('efg'.startswith('e')) #True:真;False:假 布爾值,用來做判斷用的
7、指定總長度,字符串放中間
print('歡迎登陸'.center(50,'*')) #指定總長度50,將字符放中間,如果長度不夠的話,用*補全
8、字符串補0
print('1'.zfill(5)) #字符串長度不夠時自動補0
9、format、format_map
print(s.format()) #占位 print(s.format_map()) #傳一個字典 # %s順序需要一一對應;format無需關注順序 username='abc' today='2019-03-30' s2='歡迎{}登陸,今天的日期是{}.' print(s2.format(username,today)) s3='insert into user value({username},{password},{phone})' #format new_s3=s3.format(password='123',username='abc',phone='110') #format_map new_s3=s3.format_map({'password':123, 'username':'ccc', 'phone':110 }) print(new_s3)
10、判斷是否為整數
print('123.1'.isdigit()) #判斷是否為整數,是則返回true,否則返回false
11、判斷是否有空格
#判斷是否有一個或多個空格,如果是空格則返回True,否則返回False print('abc'.isspace()) print(' '.isspace())
12、判斷字符
print('123'.isalnum()) #判斷只要沒有特殊字符就返回True,比如數字或字母;如果有特殊字符就返回False print('abc'.isalpha()) #不是數字、不是特殊符號就返回True
13、字符串分割split
users='abc,xiaozi,xiaobai,xiaohei,xiaoming,xiaolan' users2='abc xiaozi xiaobai xiaohei xiaoming xiaolan' #需求:賬號和密碼要變成---'szz-abc',123456,如果是字符串的話沒有辦法進行處理,需要使用數組 #以上字符串是使用逗號進行分隔的,可以通過逗號將每個字符進行分割后取值 result=users.split(',') #1、按照某個字符串分割; #2、把分割后的元素放到一個list里面。返回結果:['abc', 'xiaozi', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan'] result=users.split('.') #3、如果指定的字符串不存在,那么就把整個字符串放到list里面,返回結果:['abc,xiaozi,xiaobai,xiaohei,xiaoming,xiaolan'] result=users2.split() #如果split沒有指定參數,默認按照空格進行分割,無論中間有多少空格,返回結果:['abc', 'xiaozi', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan'] print(result)
14、把list中的內容轉成字符串
#把list轉成字符串 names=['abc', 'xiaozi', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan'] print(','.join(names)) #1、把list變成字符串 #2、用指定的字符串把list里面的每個元素連接起來
15、把字符串寫入文件,接14
#把字符串寫入文件 f=open('names.txt','w',encoding='utf-8') f.write(','.join(names)) f.close()
16、讀取文件內容
#讀文件;如果文件名不存在會報錯 f=open('names.txt','r',encoding='utf-8') res=f.read() print('從文件里面讀出來的數據:',res) f.close()