天天看點

python字元串格式化_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

清單轉換為字元串join1

承接上部分代碼!!!!

#和清單之間的轉換

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))