python字符串處理以及字符串格式化


一、python字符串處理

目錄:

1.算長度(len),某個元素出現的次數(count)

2.切片   [ ],repr:把不可見字符顯示出來

3.查找 #find,rfind從右邊查找

4.字符串和列表之間的轉換(split,join list)

5.替換字符串replace   #替換會生成新的字符串,原來的字符串不變

6.類型轉換

7.編碼函數

二、python字符串格式化

目錄:

1.填充(center、ljust,rjust,zfill)

2.設定間距,對齊方式  end="" #不換行,sep

3.字符串格式化(%,format)

一、python字符串處理

以ping百度得到的返回數據為例:

 1 myString='''正在 Ping www.a.shifen.com [220.181.112.244] 具有 32 字節的數據:  2 來自 220.181.112.244 的回復: 字節=32 時間=27ms TTL=54  3 來自 220.181.112.244 的回復: 字節=32 時間=36ms TTL=54  4 來自 220.181.112.244 的回復: 字節=32 時間=42ms TTL=54  5 來自 220.181.112.244 的回復: 字節=32 時間=36ms TTL=54  6 
 7 220.181.112.244 的 Ping 統計信息:  8  數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),  9 往返行程的估計時間(以毫秒為單位): 10  最短 = 27ms,最長 = 42ms,平均 = 35ms'''
11 
12 #算長度以及行數
13 print(myString) 14 print("長度為:",len(myString)) 15 c=myString.count("\n")+(not myString.endswith("\n")) 16 #求行數方法二
17 #c=myString.count("\n")+[1,0][myString.endswith("\n")]
18 print("行數為:",c) 19 #查找、切片
20 print("******************查找、切片**********************") 21 print("220.181.112.244第一個IP開始的位置:",myString.find("220")) 22 start1=myString.find("220") 23 print("220.181.112.244IP結束的位置:",myString.find("]",start1)) 24 end1=myString.find("]",start1) 25 print("IP地址是:",myString[start1:end1]) 26 print("第一個TTL開始的位置:",myString.find("TTL")) 27 start2=myString.find("TTL") 28 print("第一個TTL結束的位置:",myString.find("\n",start2)) 29 end2=myString.find("\n",start2) 30 print("TTL的值為:",myString[start2:end2].split("=")[1])

運行效果如下:

4.字符串和列表之間的轉換

字符串轉換為列表split、list

列表轉換為字符串join

1 
承接上部分代碼!!!!
#和列表之間的轉換 2 print("******************和列表之間的轉換**********************") 3 print("以換行符為分割轉換為列表:") 4 list1=myString.split("\n") 5 print(list1) 6 print("把列表拼接為字符串:") 7 string2='\n'.join(list1) 8 print("拼接之后的字符串為:",string2) 9 print(list("12345"))

運行效果如下:

5.替換字符串replace   #替換會生成新的字符串,原來的字符串不變

1 
承接上部分代碼!!!

print("*****************替換字符串***********************")
2 print("把myString字符串中ip地址全都替換為8.8.8.8:") 3 print(myString.replace("220.181.112.244","8.8.8.8")) 4 print("把myString字符串中第一個ip地址替換為8.8.8.8:") 5 print(myString.replace(myString[start1:end1],"8.8.8.8",1)) 6 print("替換會生成新的字符串,原始字符沒有改變:") 7 print(myString)

運行效果如下:

6.類型轉換

 代碼如下:

 1 #類型轉化
 2 a=123
 3 b=(1,2,3)  4 c=[1,2,3]  5 d={1,2,1,3}  6 e={"1":99,"2":88}  7 f='123456'
 8 g="87.2"
 9 a1=str(a) 10 b1=str(b) 11 c1=str(d) 12 d1=str(e) 13 print(a1,type(a1),b1,type(b1),c1,type(c1),d1,type(d1)) 14 print(str(a)+f) 15 print(int(f)+1) 16 print(float(g)+1)

運行效果如下:

#判斷是否可以轉換為整型
a="1,2,3"
print(a.isdecimal())
print(a.isdigit())
print("九".isnumeric())

7.編碼函數

ord:把字符串轉換為ASCII    bin:把字符串轉換成二進制

oct:把字符串轉換成八進制    hex:把字符串轉換成16進制

二、python字符串格式化

1.填充(center、ljust,rjust,zfill)

1 print("居中填充".center(14,"-")) 2 print("左填充".ljust(15,"-")) 3 print("右填充".rjust(15,"-")) 4 print("零填充".zfill(15))

2.設定間距,對齊方式

print(1,2,3,sep="   ")

print(1,2,3,sep="\t")

3.字符串格式化

school="河河" address="河南" age=60
print("%-10s%-10s%-5d"%(school,address,age)) #format的用法
print("{:10s}{:10s}{:5d}".format(school,address,age))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

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



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